一、删除.git的影响
master分支文件
dev分支文件
删除.git后
文件为删除.git前分支的文件状态。
二、git分支切换时注意事项
情景:如果我在分支A,想要跳转到分支B。
git的规矩是,在那个分支上进行的提交,就算哪个分支上的工作。
也就是说,一旦你把A分支上尚未完成的工作带到了B分支上并在B分支上顺利提交,那么你本来希望是在A分支上进行的工作,则会被提交到本地库中B分支上,该部分工作在A分支下用git log命令查看不到但是在B分支下则可以查看到,相当于A分支什么工作都没做,B分支做了。
- 分支A工作区和缓存区都是干净的(即在A分支commit后没有再做修改),随意的切换分支,各自能看到自己分支的文件,不会造成任何影响。
- 分支A有尚未add的文件, 当你切换到分支B时,会把A分支下的这个尚未add的文件带过去,分支A上修改的内容,分支B中是看得见的。
- 分支A有已经add但是仍未commit的文件,当你切换到分支B的时候,会把A分支下的这个已经add但未commit的文件带过去,分支A上修改的内容,分支B中是看得见的。
在2这种情况下,如果你继续在B分支上add、commit、push然后切回A分支,这个尚未add的文件在A分支中就会丢失。
在3这种情况下,如果你继续在B分支上commit、push然后切回A分支,你会发现这部分已经add尚未commit的文件会丢失。
办法:
1.跳转分支之前git status一下查看是不是有没有add和commit的工作,如果有,可以的话,就都提交掉。
2.如果确实有尚未add和commit的工作,但是并未完成不方便进行提交,可以利用git stash进行现场保留,然后跳转。
3.如果1或2你都没有做,很不小心地带着未commit的工作跳转到了另一分支下,跳转之后的提示可以让你意识到你把先前分支的工作带过来了,不做任何修改直接再跳回去就好(就又带回去了),然后进行1或2步中所说。