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

标签 git git-stash

假设我在本地存储库中有多个存储。当调用 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 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

关于git - 我怎样才能一次保存我所有的 Git 存储差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299152/

相关文章:

xcode - git 错误 : unable to index file FacebookSDK. 框架/标题

git - 不 merge pull 远程分支

git - 如何将 Go 添加到 gitg 的可视源列表?

git - 使用 git stash show 显示消息和差异

maven - Apache tomcat 无法识别 git stashed,后来 git stash 应用了更改

git - 如何更改 Git 提交的编码 header ?

git - 我应该将我的 Ctags TAGS 文件 checkin git 吗?

Git 存储单个未跟踪的文件?

Git:切换到已 stash 更改的分支时发出警告

git - 如何解决 `git stash pop` 子模块上的 git merge 冲突