假设我在本地存储库中有多个stashes。致电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
...
如何将每个存储的每个差异保存到单独的文件中,一次全部?
答案 0 :(得分:8)
这应该可以解决问题:
git stash list | sed 's/\//\_/g'|sed 's/ /\_/g' | awk -F ":" '{ system("git stash show -p " $1 " >> " $1$2$3 ".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
答案 1 :(得分:0)
根据Git文档,没有任何内容可以做到这一点,你唯一能做的就是重复命令git stash pop
,直到弹出所有内容。
您也可以按照自己想要的顺序应用藏匿处,甚至可以使用git stash apply stash@{2}
选择当时应用的藏匿处。