这是使用git log --graph --all refs/stash
的带有隐藏引用的历史记录图:
* commit e5e6f3db57db6237a4334dc69a9a229f1cd7bd82 (refs/stash)
|\ Merge: 2a1a05a e918d31
| | Author: user <[email protected]>
| | Date: Sun Jan 12 12:27:13 2020 +0000
| |
| | On master: some stash comment
| |
| * commit e918d315535c6c6ade2dfb0538039d527dd0cd6e
|/ Author: user <[email protected]>
| Date: Sun Jan 12 12:27:13 2020 +0000
|
| index on master: 2a1a05a init
|
* commit 2a1a05a258d3877ed1f6d32dfd57ae1941530418 (HEAD -> master)
Author: user <[email protected]>
Date: Sun Jan 12 12:09:51 2020 +0000
init
为什么需要提交e5e6
?
藏匿条目表示为提交,其树记录了工作目录的状态,其第一个父条目是创建条目时在HEAD的提交。第二个父级的树记录创建条目时的索引状态,并将其作为HEAD提交的子级。
祖先图看起来像这样:
.----W / / -----H----I
其中H是HEAD提交,I是记录索引状态的提交,W是记录工作树状态的提交。