在执行stash drop之后,删除的stash提交似乎甚至没有出现在reflog中。我是否可以配置git将它们保存在reflog中(以防我需要恢复它们)?在这个网站上有很多关于通过fsck做这件事的帖子。但是我想提前启用某种类型的跟踪。
stash drop
fsck
ohfgkhjo1#
这在当前的Git(2.42)中是不可能的。这是因为:
refs/stash
在ref删除后保留reflog文件(稍后会进行修剪)此时是project idea(显然没有人在处理它)。
zf2sa74q2#
根据Git Documentation...如果您错误地删除或清除了stash条目,它们将无法通过正常的安全机制恢复。但是,您可以尝试以下咒语来获取仍然在存储库中但无法访问的stash条目列表。文档提供了以下命令。我相信这正是您所需要的:
git fsck --unreachable | grep commit | cut -d\ -f3 | xargs git log --merges --no-walk --grep=WIP
字符串
xpcnnkqh3#
如何在reflog中设置git跟踪stash?在reflog中,你不能,Git跟踪了refs/stash reflog中的存储列表:git stash list是git reflog stash。git stash是为特定的工作流构建的。如果你想要一个不同的工作流,你可以使用git stash create来创建一个存储集,以你想要的方式管理对你的存储集的引用,并应用你想要的git stash apply $thatset。
git stash list
git reflog stash
git stash
git stash create
git stash apply $thatset
3条答案
按热度按时间ohfgkhjo1#
这在当前的Git(2.42)中是不可能的。这是因为:
refs/stash
refs/stash
也会被删除。在ref删除后保留reflog文件(稍后会进行修剪)此时是project idea(显然没有人在处理它)。
zf2sa74q2#
根据Git Documentation...
如果您错误地删除或清除了stash条目,它们将无法通过正常的安全机制恢复。但是,您可以尝试以下咒语来获取仍然在存储库中但无法访问的stash条目列表。
文档提供了以下命令。我相信这正是您所需要的:
字符串
xpcnnkqh3#
如何在reflog中设置git跟踪stash?
在reflog中,你不能,Git跟踪了
refs/stash
reflog中的存储列表:git stash list
是git reflog stash
。git stash
是为特定的工作流构建的。如果你想要一个不同的工作流,你可以使用git stash create
来创建一个存储集,以你想要的方式管理对你的存储集的引用,并应用你想要的git stash apply $thatset
。