我在我的分支中提交很少,提交A,提交B,提交C,然后我在我的分支中合并master,因为提交D,提交E,提交F现在在我的提交之上。如何将提交A,B,C压缩到单个提交中?
答案 0 :(得分:0)
所以你有这个:
master -----D---E---F--\
work_branch \---A---B---C--* (merge-Point)
所以你创建一个头部在C
的分支git checkout <sha1 at C>
git checkout -b work_branch_2
然后使用交互式rebase
git rebase -i
这将打开一个编辑器,其中包含要在每次提交时执行的操作列表:
pick <sha1 A> comment A
pick <sha1 B> comment B
pick <sha1 C> comment C
on line commit B an C replace by squash
pick <sha1 A> comment A
s <sha1 B> comment B
s <sha1 C> comment C
所以你会得到这个:
master -----D---E---F--\
work_branch \---A---B---C--* (merge-Point)
work_branch_2 \---A'
我建议在此之后你改变而不是合并 git rebase master
注意:您可以根据需要为每个尝试创建分支,只需按下右侧的分支:)