我怎样才能一次保存我所有的 Git 存储差异?

How can I save all of my Git stashes differences at once?

假设我在本地存储库中有多个存储。调用 git stash list 时,我得到一个列表:

stash@{0}: work done on branch master
stash@{1}: work done on branch a001
stash@{2}: work done on branch a123
stash@{3}: work done on branch a233
stash@{4}: work done on branch a444
...

如何将每个存储的每个差异一次保存到单独的文件中?

根据 Git 文档,还没有任何东西可以做到这一点,您唯一能做的就是重复命令 git stash pop 直到弹出所有内容。

您也可以按您想要的顺序应用存储,甚至可以使用 git stash apply stash@{2}.

select 存储到应用程序

这应该可以解决问题:

git stash list | sed 's/\//\_/g'|sed 's/ /\_/g' | awk -F ":" '{ system("git stash show -p "  " >> "  ".diff" ) }'

它将创建以下文件:

stash@{0}_work_done_on_branch_master.diff
stash@{1}_work_done_on_branch_a001.diff
stash@{2}_work_done_on_branch_a123.diff
stash@{3}_work_done_on_branch_a233.diff
stash@{4}_work_done_on_branch_a444.diff