我知道
git
存储仅本地可见,消息不会暴露给任何远程方,因此消息比提交消息不太相关。我似乎找不到获取已显式传递给git stash save
的消息或检索它的其他方法,因为git stash pop
未记录在git reflog
中。我经常将信息写入stash消息,说明我为什么要stash以及stash实现的进度如何,因此它们对我非常有价值。我知道使用分支相对于使用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)
stash
这个名字特指的是$w_commit
这个commit,也就是带有stash名称的那个。所以,在丢弃之前可以使用git log -1 stash
命令,或者在之后使用git log -1 <hash>
命令(前提是该commit尚未被垃圾回收),来获取相应的消息。 - torek