美文网首页
9.Git将多个commit整理成一个

9.Git将多个commit整理成一个

作者: 就是耍帅 | 来源:发表于2020-11-25 18:50 被阅读0次

    1.将多个连续的commit整理成一个

    a.如下图所示,我将合并圈中的两个

    b.合并commit可以使用rebase命令.   git rebase -i [startpoint] [endpoint]

    其中-i的意思是--interactive,即弹出交互式的界面让用户编辑完成合并操作,[startpoint] [endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit(注:该区间指定的是一个前开后闭的区间)。

    我们如果需要修改某一个commit,那么就必须指定他的父级commit

     使用指令:git rebase -i   b6d4039cdb3e0

    上面未被注释的部分列出的是我们本次rebase操作包含的所有提交,下面注释部分是git为我们提供的命令说明。每一个commitId 前面的pick表示指令类型,git 为我们提供了以下几个指令:

    c.这里选择基于最早的pick合并,将(pick e6175fb three)合并到最早的 (2177bda two update)中,

    d.上面的保存退出之后,弹出下面的弹框,输入新的message,保存即可

    e.最后查看git log

    2.将间隔的几个commit整理成一个

    a.如下图,我要将(4425c91da5c81 four)和 ( b6d4039cdb3e0 first) 进行合并

    b.还是使用指令:git rebase -i   b6d4039cdb3e0 ( 这里还是要指定他的父级commit,这里 ( b6d4039cdb3e0 first) 已经是最高级了,所以直接用的  ),出现如下图:

    这时我们需要将( b6d4039cdb3e0 first)手动写进去,并且将(4425c91da5c81 four) 移动到和( b6d4039cdb3e0 first)一起,如下图:

    保存退出之后,出现下图:

    c.执行上面圈中的指令:  git rebase --continue ,然后会弹出一个类似下面的弹框,进行修改保存即可

    相关文章

      网友评论

          本文标题:9.Git将多个commit整理成一个

          本文链接:https://www.haomeiwen.com/subject/ixgniktx.html