刚才做操作发现一个问题,就是本地有一个old分支,此时本地又new了一个新的分支,那么我在old分支上做修改后切换到new分支上,发现文件是修改后的。原本理解是一个分支一套代码,那么为什么此时代码是一样的,如果工作中遇到一个分支上文件修改一半,临时需要去另一个分支继续修改文件时,需要如何操作呢?
一、及时commit代码
在new分支上把已经开发完成的部分代码commit掉,不push,然后切换到old分支修改代码,做完了commit,所有分支互不影响,这是一个理想的方法。
二、使用git stash
当在new分支上代码写到一半时,被要求解决old分支上的bug时,
在new分支上的时候在命令行输入:git stash 或 git stash save "备注信息"。
这样以后new分支代码就回到自己上一个commit了,直接git stash的话git stash的栈会直接给你一个hash值作为版本的说明,如果用git stash save “修改的信息”,git stash的栈会把你填写的“修改的信息”作为版本的说明。
接下来切到old分支修改代码完成commit,就又再回到new分支,输入:git stash pop 或 git stash apply stash@{0}
git stash list可以看到所有的版本信息:
这时候new分支上被搁置的代码就回来了。