一、直接合并
1)快進提交
命令:git merge Dev
如圖:

2)合并提交
如圖:
特點:會生成一個新的commit對象

二)壓合合并
特點:
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分支上的提交,合并到我們的分支上
如圖:

git merge 會生成一些額外的新的commit對象,
- 第一部分:Git的基本操作
- 第一章:git軟件的安裝
- 第一節:在centos6.8上安裝git-2.3
- 第二節:在windows上安裝git-bash和TortoiseGit軟件
- 第二章: Git的基本概念
- 第一節:git的基本操作
- 第二節:git的深入理解(內部運行機制)
- 第三章:git的文件管理
- 第一節:文件的添加及提交
- 第二節:文件的刪除、回退等
- 第三節:忽略指定格式的文件
- 第四節:撤銷本地倉庫的修改
- 第四章:git的commit對象深入理解
- 第一節:查看提交歷史(git log)
- 第二節:提交查找(git grep)
- 第三節:git版本庫回退
- 第五章: Git分支管理
- 第一節:分支的概念及基本使用
- 第二節:Git分支管理策略
- 第三節:Git分支合并
- 第四節:推送本地分支到遠程分支
- 第七章: Git常用命令詳解
- 第一節:git fetch命令
- 第二節:git pull命令
- 第三節:git push命令
- 第四節: git merge命令
- 第五節:git rebase命令
- 第八章:遠程倉庫管理
- 第二部分: gitlab版本控制系統
- 第一節:"遠程倉庫”版本回退解決方案
- 第二節:遠程分支和本地分支
- 第九章:Git沖突解決
- 第十章:客戶端操作
- 第十章:git常規操作
- 第一章:安裝gitlab服務器
- 第一節:在centos系統上安裝
- 第二章:配置GitLab服務器
- 第一節:關閉gitlab注冊功能
- 第二節:在gitlab上創建項目、組、用戶
- 第三節:漢化gitlab
- 第四節:gitlab配置郵箱通知
- 第五節:gitlab配置https訪問
- 第三章:使用過程常見的故障
- 第三部分: gogs版本控制系統
- 第一章:在centos6上基于二進制包安裝gogs軟件
- 第二章:gogs服務器的配置
- 第一節:gogs服務器上創建項目、用戶
- 第二節:nginx反代gogs,通過https
- 第三節:gogs啟動腳本
- 第四節:git保存密碼到本地
- 第三章:gogs服務器的備份和恢復
- 第一節:gogs備份操作