多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
一、直接合并 1)快进提交 命令:git merge Dev 如图: ![](https://box.kancloud.cn/2d3a653ff568a9c619cc004863a036d2_1042x556.png) 2)合并提交 如图: 特点:会生成一个新的commit对象 ![](https://box.kancloud.cn/c401b658100edbdd8528d7986e9e4901_975x546.png) 二)压合合并 特点: 1)把一个分支上的左右提交,合并到一个提交,然后合并到其他分支上 2)一般应用于一个bug的修复(必须修复一个bug需要多次提交,我们就可以把多次提交合并成一个提交,然后合并到master分支) 场景: 一般用于一个bug的修改,或者某个新功能的分支 * 切换到master分支 [root@static Pet_ios]# git merge --squash elephant (压合合并) Updating 9fb1f99..4bef569 Fast-forward Squash commit -- not updating HEAD elephant.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 elephant.txt [root@static Pet_ios]# git status On branch master Your branch is ahead of 'origin/master' by 18 commits. (use "git push" to publish your local commits) Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: elephant.txt 注意:压合合并,不会自动提交,需要压合后,运行一次commit命令 [root@static Pet_ios]# git commit Squashed commit of the following: commit 4bef569fc6bddf1e40d771beb4906a4b2c860d17 Author: xionghaihua <xionghaihua@91als.com.cn> Date: Sat Dec 23 13:56:19 2017 +0800 三、 分支衍合 git rebase的用法 场景: 一般情况基于某个开源软件做二次开发,我们会基于某个master分支创建一个分支,我们提交对象到这个分支,但是此时开源软件(master)也在不断发过新的功能,如果我们还想使用,就会把master分支上的提交,合并到我们的分支上 如图: ![](https://box.kancloud.cn/6c29e2cb7f1163f4085c6312c44c0b1e_1345x521.png) git merge 会生成一些额外的新的commit对象,