git无法使用rebase进行拉取:checkout vs pull

时间:2018-08-17 09:17:19

标签: git

这个问题是关于git行为的明显不一致。 不是,关于如何解决“无法重新设置基础”的问题-我已经知道。

我们都处在这种情况下:进行一些本地更改,并且在准备提交时意识到我们在错误的分支中。因此,我们需要先切换分支:

git checkout master
git pull

我的问题是:有时在执行结帐时,会收到消息“错误:对以下文件的本地更改将被结帐覆盖:”;在其他时候,检出工作正常,我发现已对修改后的文件进行了一些合并,但是在进行拉取时会显示消息“无法使用rebase进行拉取:您有未暂存的更改”。为什么错误并非总是在结帐时出现,还是总是在拉出时出现?

1 个答案:

答案 0 :(得分:0)

错误error: Your local changes to the following files would be overwritten by checkout并不总是出现在checkout上,因为即使您有本地更改,结帐也不会总是覆盖您的本地更改。

换句话说,git不会仅仅因为您具有本地更改而禁止签出新更改, 除非其中包括对具有本地更改的特定文件的更改。

因此,当chekcout破坏文件时,您会遇到第一个错误。否则,结帐就可以了,但是您会遇到第二个错误。