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

测试内容:
A、首先建立master,提交文件a、b、c
B、新建分支branch1,包含master文件a、b、c,修改a提交branch1
\color{blue}{(此时两个分支a文件不同,b、c相同)}
C、在master中修改b提交
D、在master中修改c,新增d提交,再把c、d两个文件
同步到branch1分支,要求branch1分支a、b保持不变
\color{blue}{(此时两个分支a、b文件不同,c、d相同)}
E、在branch1中修改c提交
F、在branch1中新增n提交,再把n同步到master
\color{blue}{(此时两个分支a、b、c文件不同,d、n相同)}

测试环境:

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

客户端:GitExtensions

image.png

详细操作步骤:

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

image.png

A2. 提交a、b、c到master

image.png

image.png

注: [Commit]仅提交到本地, [Commit & push]提交到本地和上传远程服务器,下面所有操作都是点此按钮!

image.png

image.png

B1. 创建分支branch1

image.png

image.png

image.png

\color{blue}{成功创建分支branch1并已切换到此分支:}

image.png

B2. 在branch1修改a文件提交

image.png

image.png

image.png

image.png

image.png

image.png

\color{blue}{提交成功后状态如下:}
image.png

B3. 浏览器查询当前代码状态
\color{blue}{http://192.168.1.80/user1/testBranches}

image.png

image.png

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

C1. 切换到master

image.png

image.png

image.png

C2. 在master中修改b提交

image.png

image.png

image.png

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

image.png

image.png

image.png

\color{blue}{提交成功后状态如下:}
image.png

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

\color{blue}{先切换到branch1分支,再按Ctrl+M}

image.png

image.png

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

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

image.png

image.png

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

image.png

image.png

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

image.png

image.png

image.png

提交成功后状态如下:

image.png

D3. 浏览器查询当前代码状态
\color{blue}{http://192.168.1.80/user1/testBranches}
image.png

image.png

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

E1. 在branch1中修改c提交

image.png

image.png

提交成功后状态如下:

image.png

F1. 在branch1中增加n提交

image.png

提交成功后状态如下:

image.png

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

先切换到master,再按Ctrl+M,选择(远程)origin/branch1,合并到master,
勾选”Do not commit”不提交(需要自行选择指定文件提交!)

image.png

image.png

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

image.png

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

image.png

image.png

仅上传新加的n文件

image.png

image.png

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

image.png

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

\color{blue}{http://192.168.1.80/user1/testBranches}

image.png

image.png

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

补充说明:

1.在提交代码之前,先获取最新的代码,以及切换分支时下载远程最新代码。
2.当前测试服务端是gitlab,也适用于github,客户端工具为GitExtensions,其它git客户端工具应该也差不多的操作。
3.GitExtensions合并分支选项说明:

image.png

\color{red}{注:如不选”DoNotCommit”,合并之后两个分支文件可能会一样!}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容