gpt4 book ai didi

git - 如何使用相同的存储消息撤消意外的 git stash pop?

转载 作者:行者123 更新时间:2023-12-04 16:03:10 24 4
gpt4 key购买 nike

我知道 git 存储只是本地的,消息不会暴露给任何远程方,因此消息的相关性远不如提交消息。

我似乎没有找到一种方法来获取已显式传递给 git stash save 的消息或自 git stash pop 以来检索它的任何其他方式没有记录在 git reflog 中。

我经常在 stash 消息中写入信息,我为什么 stash 以及 stash 的实现有多远,所以它们对我来说非常有值(value)。

我知道使用分支比使用 git stash 有很多优点,几乎没有缺点。我正在逐渐养成不再使用 git stash 以支持分支的习惯,但是我已经丢失了消息并想澄清一次。

我的 git stash pop 输出看起来像

On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: test

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (958d4b921e7f3e8faa9fd2ecb12af13250e1f739)

最佳答案

首先,git stash save is now called git stash push自 Git 2.16+(2017 年第 4 季度)以来

可以看到t/t3903-stash.sh中测试的消息, 使用 git stash list (但那是 before git stash pop)

git stash 仍然是 shell script ,你可以看到,when it creates the stash, it actually creates a commit :

    # create the stash
if test -z "$stash_msg"
then
stash_msg=$(printf 'WIP on %s' "$msg")
else
stash_msg=$(printf 'On %s: %s' "$branch" "$stash_msg")
fi
w_commit=$(printf '%s\n' "$stash_msg" |
git commit-tree $w_tree -p $b_commit -p $i_commit $untracked_commit_option) ||
die "$(gettext "Cannot record working tree state")"

git log 能够取回该提交消息是理所当然的。

关于git - 如何使用相同的存储消息撤消意外的 git stash pop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49968288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com