美文网首页React Native开发让前端飞
git合并多个commit & 压缩合并

git合并多个commit & 压缩合并

作者: 码工人生 | 来源:发表于2020-05-10 20:41 被阅读0次

日常开发中,我们为了代码安全起见,经常会做完一点需求就进行一次commit。如果所做的需求比较复杂,可能会产生很多的commit。等需求开发完之后,想往主分支合并,或者让别人进行codeReview,commit次数太多看着就很麻烦,并且作为主分支也不想要这么多commit。所以学会将多个commit合并为一个节点就很有必要。以下将介绍两种方法实现多个commit节点合并为一个节点。比如我想把红框里三次提交合并成一个节点。

一、压缩提交

1.jpg

1.使用git rebase 命令,以下两种都可以

a. git rebase -i lastCommitID
注意这里的commitId 是倒数第四次的提交

git rebase -i   b7d113e6

b. git rebase -i HEAD~3
3就是从最后一次开始倒数的次数

2.命令编辑

a.输入命令 vi ,进行编辑


WeChat7fd61bf4d7eb38d601da6fc81c2bf588.png

b.当下面蓝色框为 INSERT 时,要把上面两个红色框 ‘pick’ 改为‘s’,表示第三次提交合并入第二次,第二次提交合并入第一次。
修改后如图:


WeChat37aa3aa7a0ba551122340593cda33a05.png
c.按 ESC 键, 然后按'shift'+':' ,接着按 wq,回车退出。

3.修改提交记录(这个可修改也可不修改)

WeChat1e057380fab5d2326cb1fb019bf19410.png

由于是把后面的提交合并到第一次提交里。所以可以修改第一次提交信息红色区域,改为你想要的提交信息。比如“完成合并多次提交功能”

至此,将多次commit合并为一次commit完成。再次查看git 记录:

WeChat01829b03fb4de4d5cf389fb39c8a77cf.png

二、压缩合并

比如我们在某个feature分支开发了一个功能,要合并入develop分支时。这个feature分支上有很多提交记录,而develop上并不需要展示某个feature上那么复杂的提交记录。这个时候就要用到压缩合并。
比如我在feature分支有了三次提交记录


WeChate118cc70b574c6bf332057c90a90e059.png

此时我已经feature完成了功能,要合并入develop分支,但为了使develop分支不显示这么多节点,我们要开始以下步骤

1.使用压缩合并分支的名利

git merge <branch>  --squash

2. 然后 git add . ,再git commit -m '提交信息'

至此,我们完成压缩一个分支合并到主分支功能,如图

WeChata93df4da62daf2cb1f3060c96e425bc6.png

通过git log -p commitID ,可以看到这次压缩合并的所有提交信息。

相关文章

  • git合并多个commit & 压缩合并

    日常开发中,我们为了代码安全起见,经常会做完一点需求就进行一次commit。如果所做的需求比较复杂,可能会产生很多...

  • Git - 合并多个Commit

    1. 概述 在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些...

  • git合并多个commit

    一共2种方法,方法二比较简单就不演示了。 rebase git log查看需要合并哪些commit git reb...

  • [Git] 合并多个 commit

    在平时开发过程中, 我们可能会有多个相同或相似功能的 commit, 比如增加日志, 修改变量, 如果让这些提交留...

  • 「Git」合并多个 Commit

    在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commi...

  • git多个commit合并

    git多个commit合并 有时候我们本地写代码,因为要拉取同组其他小伙伴的代码,所以需要先把代码commit,或...

  • git 合并多个commit

    1、切换到你的开发分支上 2、git log 查看 3、git rebase -i commit号 注意:这行的意...

  • 「Git」合并多个 Commit

    在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commi...

  • 【Git】合并多个commit

    git rebase -i 5d39ff2 例如: 准备合并 把 e7ba81d(Commit-1)、5756e1...

  • git 合并多个commit

    合并多个commit: 1:查找你要跳转的分支的前一个分支:git log 2:回滚:git reset <分支序...

网友评论

    本文标题:git合并多个commit & 压缩合并

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