为什么git pull不会/不能合并本地更改?

时间:2016-06-30 13:35:33

标签: git version-control merge git-pull git-stash

试图了解git行为。

当我执行git pull时,我收到警告

error: Your local changes to the following files would be overwritten
by merge:
        foo/bar
Please, commit your changes or stash them before you can merge. Aborting

但是,如果我git stash savegit stash pull,然后git stash pop,则会毫不费力地应用更改。

Auto-merging foo/bar
...

为什么不能/不会git pull做同样的事情?

1 个答案:

答案 0 :(得分:2)

在一般情况下,无法保证合并可以自动执行。它可能会留下需要手动解决的冲突。在这种情况下,如果用户忘记了他们正在进行的本地更改并且只是想要"撤消"合并回到原来的位置。如果你先提交或存储,你就可以中止/撤消合并,因为如果你提交了,那么你仍然会有提交,如果存储弹出没有自动合并而没有冲突,那么存储将会不被删除。