为什么git stash导致冲突后git stash pop?

klm*_*123 2 git git-stash

为什么在冲突结果git stash pop之后git stash呢?

所以我做了:

$ git stash --keep-index
$ git stash pop
Run Code Online (Sandbox Code Playgroud)

并且git要求我解决冲突.

我做错了吗?我怎么能不分级的藏文件(测试PROGRAMM),然后返回一切恢复(所以我已经得到了所有筹备的文件原封不动,未分级的文件回来,是不分阶段的)?

Fre*_*zaq 5

问题来自于--keep-index.您发现的更改与您已经上传的更改冲突.

以下是可用于重现的命令

echo bar > foo
git add foo
echo baz > foo
git stash --keep-index
git stash pop #CONFLICT
Run Code Online (Sandbox Code Playgroud)

在那种情况下,git不知道bar或baz是否应该出现在foo中...

解决方案是不使用--keep-index参数或提交您首先添加的更改(您可以随时修改提交)

您还可以使您的工作目录处于使用前的状态git stash branch <branchname>(然后您必须合并分支)