Git 学习笔记_04(Git Branch 分支)

Branch简介

在开发专案时,可能同时会有多人在开发同一功能或修复错误,也可能会有多个发布版本的存在,并且需要针对每个版本进行维护,这时候便需要分支的存在,

http://img2.58codes.com/2024/20124767tvLrOpJm19.png

上图表示了在Master中分支了蓝色与黄色的branch,代表着同时对于B这个点进行两种不同的处理,而分开的分支最后可以与其他的分支进行合併,所以当进行额外的开发时,可以在分支中进行开发,等到都确认完全后再将分支所处理个程式合併在Master中。
http://img2.58codes.com/2024/20124767hUSjXSfLJE.png
(图片来源 : 连猴子都能懂得Git入门指南)

HEAD

HEAD是一个指标,它代表着现在只向哪一个分支,通常可以把它看成 "目前所在的分支" 。

新增第一个commit

当在master中commit了一个档案,就会产生一个Master的节点,而HEAD指向了这个节点,代表着目前我们所在的是这一个地方。
http://img2.58codes.com/2024/201247670stSBPV6rr.png

在专案资料夹中新增一个index.html并将他commit上去产生一个master的节点。
http://img2.58codes.com/2024/20124767zG08j53Khu.png

新增第二个commit

在master中在新增一个commit后,会在原本的节点上面在产生一个新的节点,而HEAD则移动到第二个节点上,表示目前指向的是新的节点内容。
http://img2.58codes.com/2024/20124767NdMGhKrDMD.png

在index.html中新增内容并将他commit上去产生第二个master的节点。
http://img2.58codes.com/2024/20124767MC6rUm2t3i.png
http://img2.58codes.com/2024/20124767WBwFZhhbip.png

git checkout commit前四码 -> 移动到指定的commit节点

上面新增了两个commit的节点,而HEAD目前是在第二个节点上,可以使用git log来查看commit的纪录。
http://img2.58codes.com/2024/20124767y0DUkiYEgy.png

查看到commit纪录后便可以使用git checkout commit前四码来将HEAD回到指定的commit纪录上,使用git checkout b01e将HEAD移动到上一个commit纪录(index.html没有内容)。
http://img2.58codes.com/2024/20124767oYCYMXhAuS.png
http://img2.58codes.com/2024/20124767nZEEQ1qGit.png

可以使用git checkout master来回到最新的commit纪录。


git branch 建立分支

在简介中提到了建立分支的用处,在这一节中则使用git的指令建立一个新的分支。

git branch "分支名称" -> 建立分支

利用git branch issue来建立一个名叫"issue"的分支,使用git branch可以确认目前这个专案中总共有多少分支,而分支前面的*代表着现在HEAD所指向的分支,也就是现在的位置。
http://img2.58codes.com/2024/20124767aa4LIq9vNM.png
http://img2.58codes.com/2024/20124767BVYQFyvXXB.png

git checkout 分支名称 -> 移动到指定分支

由于HEAD目前是指向master,代表着目前对于专案所有的变动都会更改到master本身,不会对issue这个分支造成影响,所以可以使用git checkout issue来移动到issue这个分支上,并且一样可以使用git branch来确认是否有移动到指定分支上。
http://img2.58codes.com/2024/20124767WfJ4YXhCP3.png
可以在git branch上看到*已经移动到issue上,代表我们已经将HEAD移动到issue分支上。
http://img2.58codes.com/2024/20124767uc2sX0de4w.png

确认分支中的更动不会影响master

在issue分支中,对index.html的内容进行更改并将他commit。
http://img2.58codes.com/2024/20124767ncq0vi5wMo.png
http://img2.58codes.com/2024/20124767HGZqDRATwR.png

代表着issue新增了一个commit节点,并且HEAD移动到了新的commit节点上。
http://img2.58codes.com/2024/20124767eIAzAPXaLZ.png

HEAD目前的位置是在issue所建立的commit上,可以使用git checkout master将HEAD移动到master上来观看master的数据是否有被更动。
http://img2.58codes.com/2024/20124767NFchFZfem2.png
http://img2.58codes.com/2024/20124767yINyCBZeaE.png

可以看到在issue分支上新增的<h2>在issue分支中进行修改</h2>这行程式码不见了,代表在不同分支进行档案变更并不会影响到其他分支的内容。

参考资料 :
连猴子都能懂得Git入门指南
掌握 Git 与 Github 程式时光机


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章