React Native开发让前端飞

git合并多个commit & 压缩合并

2020-05-10  本文已影响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 ,可以看到这次压缩合并的所有提交信息。

上一篇 下一篇

猜你喜欢

热点阅读