为什么git stash创建两个提交

问题描述 投票:2回答:1

这是使用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

git git-stash
1个回答
1
投票

看起来像regular stash commit

藏匿条目表示为提交,其树记录了工作目录的状态,其第一个父条目是创建条目时在HEAD的提交。第二个父级的树记录创建条目时的索引状态,并将其作为HEAD提交的子级。

祖先图看起来像这样:

       .----W
      /    /
-----H----I

其中H是HEAD提交,I是记录索引状态的提交,W是记录工作树状态的提交。

© www.soinside.com 2019 - 2024. All rights reserved.