如何备份多个藏匿?

时间:2017-12-05 11:16:49

标签: git git-stash

我明白我们可以使用     git stash show -p > stash.diff备份藏匿处。

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

2 个答案:

答案 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