为什么我的Git的局部变化被检出在这种情况下被覆盖?(Why would my local chan

2019-09-21 09:45发布

说我有一个分支,并从我分支B.我做了一堆关于A,然后结账B中的变更的,做一个git pull 。 现在我就B中的变化,但意识到它应该已经在答:如果我现在尝试git checkout A ,我得到我感动的文件“本地更改下列文件会被检出覆盖”。

为什么我的改变被覆盖,如果我只是做了B中一个git拉并没有触及在一个该文件自?

Answer 1:

你得到该消息的原因是底层文件(您提交的修改前)支路A和支路B之间的不同 。如果文件是相同的,Git的将切换分支,并保持在切换到分支A.后同样提交的修改

跨越带来这些变化的一个方法是藏匿他们:

(on branch B)$ git stash
git checkout A
git stash pop

如果有冲突的更改,则可能必须解决在这一点上的冲突。 如果有变化,但它们并不冲突,那么这会成功。



文章来源: Why would my local changes in Git be overwritten by checkout in this circumstance?