当我必须将隐藏的更改应用于脏的工作副本时,例如从存储中弹出多个更改集,我使用以下内容:
$ git stash show -p | git apply -3 && git stash drop
基本上
-
创建修补程序
-
将其传输到apply命令
-
如果有任何冲突,需要通过三方合并解决。
-
如果应用(或合并)成功,它将删除刚刚应用的存储项…
我想知道为什么没有
-f
(强制)选项
git stash pop
它应该和上面的一行代码完全一样。
同时,您可能希望将此一行程序添加为git别名:
$ git config --global --replace-all alias.unstash \
'!git stash show -p | git apply -3 && git stash drop'
$ git unstash
感谢@samhasler指出
-3
允许通过三向合并直接解决冲突的参数。