首页 > 解决方案 > 添加新存储时如何保持 Git 存储索引不变

问题描述

假设我的分支有两个存储。

当我保存另一个存储时,存储索引会更改。0 变成 1 , 1 变成 2 并且新的 stash 设置为 0。

添加新存储时是否可以保持存储索引不变?谢谢

标签: git

解决方案


不,这是不可能的。

您可以在git stash create 运行后续git stash store. 然后,您必须创建一些其他名称来保存存储提交(请记住,git stash进行提交,就像git commit!),以免干扰refs/stash引用或其任何 reflog 条目。

git stash apply命令接受任何指向“stash-like”提交的引用。任何由 by 创建的提交git stash create当然都非常类似于 stash,因为它一个 stash 提交。

作为一个非常粗略的例子:

hash=$(git stash create)
if [ "$hash" == "" ]; then
    echo "nothing to save!"
else
    git update-ref refs/private-stash $hash
    echo "new private-stash created"
fi

然后:

git stash apply refs/private-stash
git update-ref -d refs/private-stash

推荐阅读