我做了:
$ git stash --keep-index
$ git stash pop吉特让我解决冲突。
我做错什么了吗?我如何存放未分阶段的文件(测试程序),然后返回所有的东西(所以我得到了所有未处理的文件,而未分阶段的文件又回来了,也没有分阶段)?
发布于 2013-12-19 12:39:37
问题来自于--keep-index。您保存的更改与您已经进行的更改相冲突。
下面是您可以用来复制的命令
echo bar > foo
git add foo
echo baz > foo
git stash --keep-index
git stash pop #CONFLICT在这种情况下,git不知道bar还是baz应该出现在foo.
解决方案是不使用--keep-index参数或提交您首先添加的更改(以后可以随时修改提交)。
您还可以在使用git stash branch <branchname>之前将工作目录置于相同的状态(然后必须合并分支)。
发布于 2022-01-31 14:01:08
git stash保存从头状态到工作树状态的转换。它还将工作树设置为HEAD状态。
git stash --keep-index保存从头状态到工作树状态的转换。它还将工作树设置为索引状态。
git stash pop应用最后保存的转换。因此,如果工作树没有处于HEAD状态(比如在对索引进行更改并执行git stash --keep-index之后),则可能会发生冲突。您可以在执行git reset --hard之前执行git stash pop来将工作树设置为HEAD状态以避免它。
https://stackoverflow.com/questions/20681448
复制相似问题