我不太明白如何使用git rebase -i压缩提交.我有一件事想知道:
如果我的rebase -i产生这个列表:
pick A Last commit
pick B Commit
pick C Some other commit
Run Code Online (Sandbox Code Playgroud)
我应该压缩提交A和B,B和C吗?问题是git在这种情况下说它会将D..A重新映射到D(D是在此之前的最后一次提交)而不是C..A到C上,这对我来说是有意义的.D根本没有显示,为什么要这样说呢?
D..A事实上,在git术语中意味着"从D到A不包括D本身".如果您查看git-rev-list手册页,您会看到
符号"
<commit1>..<commit2>"可以被用作短手"^<commit1> <commit2>"
这意味着"列出包含在<commit2>但不包括在内的所有提交<commit1>.并且自己所做的更改D都包含在D提交中.因此它不包含在列表中D..A.
这就是为什么说这种git rebase -i D影响是正确的D..HEAD.
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |