我有一堆阶段性和非阶段性的更改,我想快速切换到另一个分支然后切换回来.
所以我使用以下方式进行了更改:
$ git stash push -a
Run Code Online (Sandbox Code Playgroud)
(事后我可能会用--include-untracked而不是--all)
然后,当我去弹出藏匿处时,我遇到了很多错误:
$ git stash pop
foo.txt already exists, no checkout
bar.txt already exists, no checkout
...
Could not restore untracked files from stash entry
Run Code Online (Sandbox Code Playgroud)
似乎没有从藏匿处恢复任何更改.
我也试过,$ git stash branch temp但显示相同的错误.
我确实找到了解决这个问题的方法:
$ git stash show -p | git apply
Run Code Online (Sandbox Code Playgroud)
现在避免了灾难,但这提出了一些问题.
为什么这个错误首先发生,下次如何避免?
我通过命令行对 git 相当陌生,但我已经看到您可以使用 --theirs 和 --ours 来解决合并冲突-但这似乎只适用于 git checkout。有没有办法在使用 git stash pop / git stash apply 时做类似的事情?即当我从藏匿处弹出时,它会产生大量冲突。有没有一种方法可以立即以一种或另一种方式解决所有问题,而不是单独解决每个问题?
谢谢