私信  •  关注

muhqu

muhqu 最近创建的主题
muhqu 最近回复了
11 年前
回复了 muhqu 创建的主题 » git stash:“不能应用于脏的工作树,请准备更改。”

当我必须将隐藏的更改应用于脏的工作副本时,例如从存储中弹出多个更改集,我使用以下内容:

$ git stash show -p | git apply -3 && git stash drop

基本上

  1. 创建修补程序
  2. 将其传输到apply命令
  3. 如果有任何冲突,需要通过三方合并解决。
  4. 如果应用(或合并)成功,它将删除刚刚应用的存储项…

我想知道为什么没有 -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 允许通过三向合并直接解决冲突的参数。