前言
本文主要对
Git
版本管理工具做一个介绍,并在读者了解了什么是Git
版本管理工具的基础上,列举了一些常见的Git
版本管理工具的命令及其使用场景。
Git简介
以下是对
git
的介绍,已经了解git
的小伙伴可以跳过这一part
。
git
是一个免费的开源 分布式版本控制系统,能够帮助我们管理项目的文件和版本等。git是一个我们学习和工作中不可缺少的一个工具。许多公司在开发的过程中都是使用git进行代码的管理。
为什么要使用git?
-
代码保管 :使用
git
能够将代码上传到远程
的仓库,防止我们误删代码造成不可挽回的损失。并且git
能够对提交的操作进行回滚
,当我们写的代码出现问题想要恢复到之前的代码时就可以使用回滚。 -
项目迭代版本管理 :在实际的开发过程中,项目的版本会不断地
迭代
。git可以通过分支对多个版本
的代码分别进行保存,方便我们开发新的版本及维护旧的版本。 -
多人协同开发代码管理 :公司的项目开发中,一般是多人协同开发一个项目,但是每个人都是在自己的本地编写代码,每个人写的代码如何
合并
呢?一般的流程就是在本地编写代码然后通过git
上传到远程
的仓库。这时还会产生一个问题,既然是多人同步开发,那么写的代码不会产生冲突或者对别人的代码产生影响吗?这个问题就依赖于git
和团队开发的管理,首先git
在进行代码合并时提供了解决代码冲突的方法,而团队开发的管理这里就不做说明了,主要介绍git。 -
不同功能同时开发的便利 :在一个项目的开发过程中,一个人可能需要对
同一个
项目同时进行几个不同的功能
的开发,这些功能的独立开发就可以通过git
的分支来进行管理。在本地对几个功能的开发分别进行在不同的分支,使得开发不同功能时不会相互影响。 -
开发与生产环境的管理 :一个在线运行的项目通常分为
开发环境
和生产环境
,生产环境
是正式环境,是用户使用的环境,开发环境
是程序员进行开发时使用的项目环境。通常我们会创建两个git
分支,一个用于保存生产环境的代码,一个用于存储开发环境的代码,使两者相互独立,开发过程不会对生产环境产生影响。
Git的安装与配置
安装
git
的安装十分简单,点击下方的下载链接后打开安装程序,无脑下一步就行。
打开命令行,输入git -v
,能看到正常输出即表示安装成功。
配置
使用git前有两个属性需要配置:name
和email
,这两个信息主要用于记录用户的身份,这个身份会在与远程代码仓库进行代码交换时发挥作用。
全局配置用户名,其中的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
的使用更加便捷:
那么本文就到这啦,如果对你有帮助的话可以给个小小的赞吗!ღ( ´・ᴗ・` )