我想从线性提交树中删除选定的提交日志项,这样这些项就不会显示在提交日志中。
我的提交树看起来像这样:
R--A--B--C--D--E--HEAD
我想删除B和C条目,这样它们就不会显示在提交日志中,但是应该保留从A到D的更改。也许通过引入一次提交,这样B和C就变成了BC,树看起来就像。
R--A--BC--D--E--HEAD
或者,理想情况下,A后面直接是D。D'表示从A到B, B到C, C到D的变化。
R--A--D'--E--HEAD
这可能吗?如果是,怎么做?
这是一个相当新的项目,所以目前还没有分支,因此也没有合并。
进一步解释一下J.F.塞巴斯蒂安的回答:
您可以使用git-rebase轻松地对提交历史进行各种更改。
运行git rebase——interactive后,你会在$EDITOR中得到以下内容:
pick 366eca1 This has a huge file
pick d975b30 delete foo
pick 121802a delete bar
# Rebase 57d0b28..121802a onto 57d0b28
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
您可以移动行来更改提交的顺序,也可以删除行来删除提交。或者您可以添加一个命令将两个提交合并(压缩)为一个提交(以前的提交就是上面的提交)、编辑提交(更改的内容)或改写提交消息。
我认为选择只是意味着你不想去做承诺。
(例子来自这里)