我知道git
存储只是本地的,并且消息不会暴露给任何远程方,因此消息与提交消息的相关性要小得多。
我似乎无法找到一种方法来获取已明确传递给git stash save
的消息或以任何其他方式检索它,因为git stash pop
未记录在git reflog
中}。
我经常在隐藏信息中写入信息,为什么我要藏匿以及隐藏的实施有多远,所以它们对我来说非常有价值。
我知道使用分支比使用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)
答案 0 :(得分:2)
首先,自Git 2.16 +(2017年第4季度)以来git stash save
is now called git stash push
您可以使用root
在t/t3903-stash.sh
中看到测试的消息(但之前的 git stash list
)
git stash pop
仍为shell script,您可以看到when it creates the stash, it actually creates a commit:
git stash
然后, # 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")"
能够返回该提交消息。