Git的安装使用一条龙~[ 新手友好,命令超全! ]

前言

本文主要对Git版本管理工具做一个介绍,并在读者了解了什么是Git版本管理工具的基础上,列举了一些常见的Git版本管理工具的命令及其使用场景。

Git简介

以下是对git的介绍,已经了解git的小伙伴可以跳过这一part

git是一个免费的开源 分布式版本控制系统,能够帮助我们管理项目的文件和版本等。git是一个我们学习和工作中不可缺少的一个工具。许多公司在开发的过程中都是使用git进行代码的管理。

为什么要使用git?

  • 代码保管 :使用git能够将代码上传到远程的仓库,防止我们误删代码造成不可挽回的损失。并且git能够对提交的操作进行回滚,当我们写的代码出现问题想要恢复到之前的代码时就可以使用回滚。

  • 项目迭代版本管理 :在实际的开发过程中,项目的版本会不断地迭代。git可以通过分支对多个版本的代码分别进行保存,方便我们开发新的版本及维护旧的版本。

  • 多人协同开发代码管理 :公司的项目开发中,一般是多人协同开发一个项目,但是每个人都是在自己的本地编写代码,每个人写的代码如何合并呢?一般的流程就是在本地编写代码然后通过git上传到远程的仓库。这时还会产生一个问题,既然是多人同步开发,那么写的代码不会产生冲突或者对别人的代码产生影响吗?这个问题就依赖于git和团队开发的管理,首先git在进行代码合并时提供了解决代码冲突的方法,而团队开发的管理这里就不做说明了,主要介绍git。

  • 不同功能同时开发的便利 :在一个项目的开发过程中,一个人可能需要对同一个项目同时进行几个不同的功能的开发,这些功能的独立开发就可以通过git的分支来进行管理。在本地对几个功能的开发分别进行在不同的分支,使得开发不同功能时不会相互影响。

  • 开发与生产环境的管理 :一个在线运行的项目通常分为开发环境生产环境生产环境是正式环境,是用户使用的环境,开发环境是程序员进行开发时使用的项目环境。通常我们会创建两个git分支,一个用于保存生产环境的代码,一个用于存储开发环境的代码,使两者相互独立,开发过程不会对生产环境产生影响。

Git的安装与配置

安装

git的安装十分简单,点击下方的下载链接后打开安装程序,无脑下一步就行。

以下是windows的下载地址:32位 64位

打开命令行,输入git -v,能看到正常输出即表示安装成功。

配置

使用git前有两个属性需要配置:nameemail,这两个信息主要用于记录用户的身份,这个身份会在与远程代码仓库进行代码交换时发挥作用。

全局配置用户名,其中的xxx就是用户名

sh 复制代码
git config --global user.name "xxx"  

全局配置用户邮箱,其中的xxx就是用户邮箱

sh 复制代码
git config --global user.email "xxx"  

GIT的文件状态

在了解git的命令之前我们先了解一下git版本管理下的文件状态。

git中的文件有两种状态:未跟踪和已跟踪。

  • 未跟踪:未跟踪文件是没有被git所管理的文件,
  • 已跟踪 :已跟踪就是被git管理的文件。已跟踪的文件有三种状态:未修改、修改、和暂存。
    • 未修改: 即文件与git仓库中的代码相同,并未对代码进行修改。
    • 修改:即文件与git仓库中的代码不相同,对代码进行了修改。
    • 暂存:表示文件的修改已保存但是并未提交到git仓库。

GIT基础命令

初始化

使用git前需要先将git引入项目中,在项目中目录中输入git init就可以完成项目的初始化。

完成之后你可以在项目的根目录中看到一个.git文件夹,

如果看不到的话在文件的查看那栏勾选隐藏的项目

暂存文件

在项目根目录下新增一个文件,使用git status命令查看项目中文件的状态

使用git add xxx其中xxx为文件路径,也可以输入*表示跟踪所有未跟踪文件

提交文件

使用git commit -m "提交信息" 命令来提交所有的已修改及暂存的文件,执行之后所有文件变为未修改状态,即已被git管理记录。

GIT分支

分支是git中最常见的一个功能,在不同的分支进行不同的功能的开发,或者在不同的分支中保存不同版本的代码。 分支可以通过创建分支、切换分支、合并分支等进行管理。

创建分支

使用git branch xxx命令从当前的分支创建一个分支,xxx为新分支的名称。

新分支基于现分支的节点进行创建。

切换分支

使用git checkout xxx命令进行分支的切换,xxx为切换到的分支名。

从当前分支切换到了test分支

合并分支

使用git merge xxx合并分支。

在下图中我在master分支对test分支进行了合并操作,此时test分支中提交的更改会同步到本分支。

冲突

以上合并分支的过程中没有产生代码的冲突,因此很顺利的进行了合并,但是如果我先在test分支中将index.html文件进行修改如下,然后将这个修改进行提交,

随后我们切回master分支,并且也对index.html文件进行修改并提交。

此时我们再进行合并分支,就会出现以下的代码冲突:

可以看到git给我们提供了解决冲突的方案,根据需求进行选择即可。

删除分支

使用git branch -d xxx命令来删除分支,其中xxx为分支名。

注意: 删除分支前记得先切换到其他的分支。

GIT远程仓库

除了本文中的这些基础使用之外,git还能够将本地git仓库与远程仓库进行连接,进行代码的上传与等操作,本文暂不做介绍,之后会单独出一篇相关的文章哦~

命令汇总

命令 含义
git -v 查看git的版本
git config --global user.name "xxx" 全局配置用户名,其中的xxx就是用户名
git config --global user.email "xxx" 全局配置用户邮箱,其中的xxx就是用户邮箱
git init 在项目中初始化git,使git能够对项目代码进行管理
git status 查看项目中的文件状态
git add xxx 将未跟踪状态的文件转为已跟踪,即将未被git管理的文件加入到git的管理中,其中xxx为文件名,也可以输入*表示跟踪所有未跟踪文件
git commit -m "提交信息" 提交所有的暂存以及已修改文件,其中提交信息可以用于记录本次提交的含义,提交完成后变为未修改
git branch xxx 从当前分支创建一个新的分支,其中xxx为新分支的名称
git checkout xxx 切换分支,其中xxx为分支名
git merge xxx 合并分支,其中xxx为被合并的分支
git branch -d xxx 删除分支,其中xxx为要删除的分支名

VSCode插件

一款VSCode插件使git的使用更加便捷:

那么本文就到这啦,如果对你有帮助的话可以给个小小的赞吗!ღ( ´・ᴗ・` )

相关推荐
神夜大侠1 小时前
VUE 实现公告无缝循环滚动
前端·javascript·vue.js
明辉光焱1 小时前
【Electron】Electron Forge如何支持Element plus?
前端·javascript·vue.js·electron·node.js
p-knowledge1 小时前
git常用操作
git
柯南二号2 小时前
HarmonyOS ArkTS 下拉列表组件
前端·javascript·数据库·harmonyos·arkts
wyy72932 小时前
v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条
前端·ui·html
前端郭德纲2 小时前
ES6的Iterator 和 for...of 循环
前端·ecmascript·es6
王解2 小时前
【模块化大作战】Webpack如何搞定CommonJS与ES6混战(3)
前端·webpack·es6
欲游山河十万里2 小时前
(02)ES6教程——Map、Set、Reflect、Proxy、字符串、数值、对象、数组、函数
前端·ecmascript·es6
明辉光焱2 小时前
【ES6】ES6中,如何实现桥接模式?
前端·javascript·es6·桥接模式
PyAIGCMaster2 小时前
python环境中,敏感数据的存储与读取问题解决方案
服务器·前端·python