如何备份多个存储?

How to take backup of multiple stash?

我知道我们可以使用 git stash show -p > stash.diff 备份存储。

现在我想备份至少 20 个藏品。备份所有藏品的好方法是什么?

此代码段将列出所有现有存储的 ID,然后为每个创建单独的差异文件。

for stash in `git stash list | awk -F':' '{print }'`
do
    git stash show $stash -p > $stash.diff
done

以下代码段将所有存储存储在类似于存储提交消息的文件名下。 不允许的文件名字符替换为“_”。

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