【发布时间】:2015-01-16 17:41:26
【问题描述】:
当存储一些更改时,Git 会创建两个单独的提交,“WIP on branch”和“index on branch”:
$ git log --graph --all
* commit 98aac13303ca086580c1ec9ccba5fe26c2a8ef3c
|\ Merge: 7d99786 82c5c76
| | Author: Tieme <my@email.com>
| | Date: Wed Nov 19 09:58:35 2014 +0100
| |
| | WIP on development: 7d99786 Last real commit
| |
| * commit 82c5c763357c401135675a39bfabf9b7f6805815
|/ Author: Tieme <my@email.com>
| Date: Wed Nov 19 09:58:35 2014 +0100
|
| index on development: 7d99786 Last real commit
|
|
| * commit 7d9978637a0e1ef92f2432189bdebf2317f0b2f0
| Author: Tieme <my@email.com>
| Date: Tue Nov 18 17:32:33 2014 +0100
|
| Last real commit
|
我为此查找了documentation,但它并没有使它更清楚:
一个 stash 表示为一个提交,其树记录了工作目录的状态,并且它的第一个父级是创建 stash 时在 HEAD 处的提交。第二个父级的树记录了存储时索引的状态,并使其成为 HEAD 提交的子级。祖先图如下所示:
.----W / / -----H----I其中 H 是 HEAD 提交,I 是记录索引状态的提交,W 是记录工作树状态的提交。
为什么我更改的文件创建了 2 个提交,而不仅仅是一个提交?
【问题讨论】:
-
"但它并没有使它更清楚" 嗯,确实如此,但你必须非常仔细地阅读 :-) 我实际上来到这里是因为我有同样的问题,并且阅读了那个引用清除了它对我来说。