Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

 

测试内容:

A、首先建立master,提交文件a、b、c

B、新建分支branch1,包含master文件a、b、c,修改a提交branch1

(此时两个分支a文件不同,b、c相同)

C、在master中修改b提交

D、在master中修改c,新增d提交,再把c、d两个文件
同步到branch1分支,要求branch1分支a、b保持不变
(此时两个分支a、b文件不同,c、d相同)

E、在branch1中修改c提交

F、在branch1中新增n提交,再把n同步到master
 (此时两个分支a、b、c文件不同,d、n相同)

 

 

测试环境:

服务端:内网搭建gitlab (http://192.168.1.80/user1/testBranches)

客户端:GitExtensions

Git分支合并详细操作教程(配图)

 

详细操作步骤:

A1. Master创建文件a、b、c

Git分支合并详细操作教程(配图)

A2. 提交a、b、c到master

Git分支合并详细操作教程(配图)

 Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图) Git分支合并详细操作教程(配图)

B1. 创建分支branch1

Git分支合并详细操作教程(配图)  Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

成功创建分支branch1并已切换到此分支:

Git分支合并详细操作教程(配图)

B2. 在branch1修改a文件提交

 Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图) Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)  Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

提交成功后状态如下:

Git分支合并详细操作教程(配图)

 

 

B3. 浏览器查询当前代码状态

http://192.168.1.80/user1/testBranches

Git分支合并详细操作教程(配图)Git分支合并详细操作教程(配图)

小结:现在2个分支a文件版本不同,b、c文件版本相同(都是A2.xx)!

C1. 切换到master

 

Git分支合并详细操作教程(配图) Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

C2. 在master中修改b提交

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

D1. 在master中修改c,新增d提交

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图) Git分支合并详细操作教程(配图)

提交成功后状态如下:

Git分支合并详细操作教程(配图)

 

D2. 将master最新c、d合并到branch1分支

先切换到branch1分支,再按Ctrl+M

Git分支合并详细操作教程(配图)Git分支合并详细操作教程(配图)

选择(远程)origin/master,合并到分支branch1,

勾选”Do not commit”不提交(需要自行选择指定文件提交!)

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

 

 

 

此时已合并成功,下一步点击[Commit],选择需要同步的文件上传

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

注:b不提交,并且Reset! ,点击[Commit & push]提交与上传

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图) Git分支合并详细操作教程(配图)

 

提交成功后状态如下:

Git分支合并详细操作教程(配图)

D3. 浏览器查询当前代码状态

http://192.168.1.80/user1/testBranches

Git分支合并详细操作教程(配图)Git分支合并详细操作教程(配图)

小结:现在2个分支a、b文件版本不同,c、d文件版本相同(都是D1.xx)!

 

E1. 在branch1中修改c提交

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

提交成功后状态如下:

Git分支合并详细操作教程(配图)

F1. 在branch1中增加n提交

Git分支合并详细操作教程(配图)

提交成功后状态如下:

Git分支合并详细操作教程(配图)

F2. branch1最后新加n合并到master

先切换到master,再按Ctrl+M,选择(远程)origin/branch1,合并到master,

勾选”Do not commit”不提交(需要自行选择指定文件提交!)

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

此时已合并成功,下一步点击[Commit],选择需要同步的文件上传

Git分支合并详细操作教程(配图)

因a、b、c文件不需要提交,所以Reset!

Git分支合并详细操作教程(配图)Git分支合并详细操作教程(配图)

 

 

 

仅上传新加的n文件

Git分支合并详细操作教程(配图)

Git分支合并详细操作教程(配图)

上传成功后最终状态如下:

Git分支合并详细操作教程(配图)

F3. 浏览器查询当前代码状态

http://192.168.1.80/user1/testBranches

Git分支合并详细操作教程(配图)Git分支合并详细操作教程(配图)

小结:现在2个分支a、b、c文件版本不同,d、n文件版本相同(分别是D1.xx/F1.xx)!

 

补充说明:

1.在提交代码之前,先获取最新的代码,以及切换分支时下载远程最新代码。

2.当前测试服务端是gitlab,也适用于github,客户端工具为GitExtensions,其它git客户端工具应该也差不多的操作。

3.GitExtensions合并分支选项说明:

Git分支合并详细操作教程(配图)

注:如不选”Do not commit”,合并之后两个分支文件可能会一样!