git stash pop后,Git diff无效

sas*_*alm 2 git git-stash qt-creator

之后git stash pop,发生了一些冲突,例如:

<<<<<<< Updated upstream
int foo = 5;
=======
int foo = 6;
>>>>>>> Stashed changes
Run Code Online (Sandbox Code Playgroud)

我在代码中解决了它们,但现在我无法在提交之前预览我的更改.我得到的就是这个,我知道有变化:

diff --cc mainwindow.cpp
index 24dc025,2c44ad8..0000000
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
Run Code Online (Sandbox Code Playgroud)

如何强制git diff将我当前的源与上次提交进行比较?

Mic*_*ann 8

pop导致了合并冲突.为了解决它,你需要编辑文件(你已经做过),然后调用git add mainwindow.cpp告诉git,你已经解决了冲突.

如果要预览更改,可以使用git diff --cached.这是因为git add已经将您的更改添加到索引中.

  • 奇怪的是,如果你现在执行:`git stash`然后执行`git stash pop`,传统的 git diff 现在将按预期工作。也许我错误地期望“git stash pop”(实际上)是“git stash”的反函数,让你回到相同的状态。这里的情况并非如此。 (2认同)