git branch分支创建、切换、合并,git tag标签

一)Git分支简介

每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

列出分支命令:git branch

创建分支命令:git branch (branchname)

切换分支命令:git checkout (branchname),当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

合并分支命令:git merge,你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支。

删除分支命令:git branch -d (branchname)

 

初始工作,先重新创建一个目录,作为测试目录,然后初始化仓库,并添加文件和提交:

git branch分支创建、切换、合并,git tag标签_第1张图片

 

二)Git分支创建和切换

当需要开发新功能,但又不影响主分支功能时,可创建Git分支,作为新开发目录。

列出所有分支:

此例意思是目前只有一个叫master的分支,并且该分支就是当前分支。

当在执行git init命令时,默认情况下Git会直接创建一个叫master的分支,也可以理解为是主分支。

 

创建分支并切换:

方式一:先使用 git branch (branchname) 命令创建分支,再用 git checkout (branchname) 命令切换到新创建的分支

git branch分支创建、切换、合并,git tag标签_第2张图片

 

方式二:使用 git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作

git branch分支创建、切换、合并,git tag标签_第3张图片

 

三)Git分支删除

当创建的分支比较多且杂乱时,可删除一些Git分支。

使用 git branch -d (branchname) 命令,把新创建的firstbranch和secondbranch删除,只留下master分支:

git branch分支创建、切换、合并,git tag标签_第4张图片

 

四)Git分支合并

当某分支有了独立内容,但希望将它合并主分支,以保持主分支永远时是最新版本时。

使用 git merge 命令操作

 

场景一:当主分支和新创建的分支没有冲突时,可直接将分支合并

先创建一个gitbranch目录,然后git init初始化,并新增一个branch.txt文件,使用vim命令添加一些内容,再提交到master主分支。

git branch分支创建、切换、合并,git tag标签_第5张图片

然后新创建一个newgitbranch分支,并新增一个newbranch.txt文件,提交到该分支上。

git branch分支创建、切换、合并,git tag标签_第6张图片

再切换到master主分支,使用git merge命令把newgitbranch分支合并过来,并把分支删除掉。

git branch分支创建、切换、合并,git tag标签_第7张图片

 

场景二:当主分支和新创建的分支存在冲突时,需先把冲突解决掉,再将分支合并到主分支

沿用上面的master主分支

先重新创建一个名称为newgitmergebranch的分支,新增一个branch.txt文件,保证该文件在master主分支存在即可

git branch分支创建、切换、合并,git tag标签_第8张图片

然后把newgitmergebranch分支的branch.txt文件合并到master主分支的branch.txt中

如存在文件冲突,可使用 git diff 命令查看文件的差异性。

git branch分支创建、切换、合并,git tag标签_第9张图片

 

五)Git标签

当项目进入到一个重要的阶段时,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。

打tag命令:git tag -a 版本号

例如:git tag -a v1.0

-a 选项意为"创建一个带注解的标签"。 不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解。推荐带上该选项。

当在执行 git tag -a 命令时,Git 会打开你的编辑器,让你写一句标签注解,就像新增文件提交备注一样。

 

查看所有tag命令:git tag

指定标签信息命令:git tag -a -m "gittag标签备注"

PGP签名标签命令:git tag -s -m "gittag标签,PGP签名备注"

 

当忘了给某个提交打标签,又将它发布了,我们可以给它追加标签:

命令:git tag -a 版本号 版本的十六进制编码

例如:git tag -a v1.0 39090b5

 

当发布一个版本时,我们通常会先在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论什么时候,在获取某个标签的版本时,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

 

识别二维码关注个人微信公众号

本章完结,待续,欢迎转载!
 
本文说明:该文章属于原创,如需转载,请标明文章转载来源!

你可能感兴趣的:(Git)