接触git有一小段时间,期间有过不少疑问,幸得看了很多大神博客,收获颇丰。自己也写点东西,算是省得以后自己忘啦,如果同样有人从零开始,希望本篇博客可以略有帮助。
本篇博客主要讲git使用过程中,本地仓库分支(branch)切换过程中的影响。内容不多,但因为自己也是菜鸟明白那种心情,会写的详细(啰嗦)一点,望包涵。
git下分支的应用是很方便的一个功能,但是有一个问题,如果我在分支A有工作尚未完成,想要跳到分支B,如果不注意,可能搞乱你的工作。
首先说,如果你的分支分支A工作区和缓存区是干净的(即你在A分支commit之后再没做任何更改),你随便往别的分支跳都不会有影响的。但是如果你在A分支下有未完成的工作,即你用git status看显示有没有add或者commit的内容,你往B分支checkout的时候,会把你在A分支下的工作带过去,如图:
在命令$git checkout B之后显示的A A1 和A A2意思即为提醒使用者,有未提交的工作也一起跳转到分支B上啦(前面的大写A意味着A1,A2文件是新建且已经git add的文件;如果是大写M则意味着A1,A2文件为内容有更改的原有文件;D则意味着是删除了A1,A2文件)。这个时候你如果在B分支上进行其他工作而不编辑A1,A2文件,目前来说是没问题的。然而,一旦你在B分支上完成了某项工作,运行了commit命令,A