当前位置: 技术问答>linux和unix
git修改了代码没有提交,居然也能切换到其他分支
来源: 互联网 发布时间:2017-05-29
本文导语: 在分支1上修改了代码,没有提交,居然能直接切到分支2上去,然后修改也被带到了分支2,没有任何警告与错误信息!求解,之前如果作了修改而不commit的话,切分支是会报错的,今天一个同事在我的电脑上操作了几...
在分支1上修改了代码,没有提交,居然能直接切到分支2上去,然后修改也被带到了分支2,没有任何警告与错误信息!求解,之前如果作了修改而不commit的话,切分支是会报错的,今天一个同事在我的电脑上操作了几下就变成这样了,可以通过什么设置改回来
|
不好意思,再来。
假设现在在master分支,修改文件了 切换到新的分支git checkout -b new_branch,这里修改的文件会自动带到new_branch分支中。因为新分支本身就是在master的基础上建立的,文件可以「带过去」,这里的「带过去」是指没有冲突。
但如果你是git checkout old_branc切换到一个比较老的分支,你新修改的文件不能以补丁的方式打上去,那么就会报错,也就是有冲突,让你把master分支处理干净再切换。
针对以上情况,如果强制不让其跟随有git stash -u来把没有提交的代码 保存起来。其它分支处理完了再回来可以还原git stash pop。
假设现在在master分支,修改文件了 切换到新的分支git checkout -b new_branch,这里修改的文件会自动带到new_branch分支中。因为新分支本身就是在master的基础上建立的,文件可以「带过去」,这里的「带过去」是指没有冲突。
但如果你是git checkout old_branc切换到一个比较老的分支,你新修改的文件不能以补丁的方式打上去,那么就会报错,也就是有冲突,让你把master分支处理干净再切换。
针对以上情况,如果强制不让其跟随有git stash -u来把没有提交的代码 保存起来。其它分支处理完了再回来可以还原git stash pop。