我明白我们可以使用
git stash show -p > stash.diff
备份藏匿处。
现在我想备份至少20个藏匿处。什么是备份所有藏匿处的好方法?
答案 0 :(得分:2)
此代码段将列出所有现有存储的ID,然后为每个存储创建单独的差异文件。
for stash in `git stash list | awk -F':' '{print $1}'`
do
git stash show $stash -p > $stash.diff
done
答案 1 :(得分:0)
以下代码段将所有存储条件存储在类似于存储提交消息的文件名下。 不允许使用的文件名字符替换为' _'。
for sha in $(git rev-list -g stash)
do
git show -p $sha > "\`git show -s --format=%B --max-count=1 $sha | sed 's/[/:\\?*+%]/_/g'\`.patch"
done
在以下版本中,我只使用存储消息的第一行作为文件名:
for sha in $(git rev-list -g stash)
do
git show -p $sha > "\`git show -s --pretty=format:'%s' $sha | sed 's/[/:\\?*+%]/_/g'\`.patch";
done