【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (二)

简介: 【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (二)

3.合并分支:

注意:在合并代码之前我们都需要将需要合并的分支拉取到最新状态(**避免覆盖别人的代码,或者丢失一些重要文件)!!!!!

 

在master分支上点击右键,选择合并feature-0613至当前分支即可进行合并:

1336199-20200623005043926-285373876.png

分支合并成功:

1336199-20200623005109462-548799471.png

SourceTree代码冲突解决:

首先我们需要制造一个提交文件遇到冲突的情景:

在SoureceTree中在Clone一个新项目,命名为pingrixuexilianxi2,如下图所示:

1336199-20200623005413727-71003140.png

我们以项目中的【代码合并冲突测试.txt】文件为例:

1336199-20200623005432930-48043549.png

在pingrixuexilianxi2中添加内容,并提交到远程代码库,添加的内容如下:

 1336199-20200623013805749-1130371050.png

在pingrixuexilianxi中添加内容,提交代码(不选择立即推送变更到origin/master),拉取代码即会遇到冲突:

1336199-20200623005654555-453287987.png

1336199-20200623005706004-874248216.png

1336199-20200623005726572-1651182655.png

冲突文件中的内容:

1336199-20200623005746702-666269418.png

直接打开冲突文件手动解决冲突:

由下面的冲突文件中的冲突内容我们了解到:

<<<<<<< HEAD
6月19日 pingrixuexilianxi添加了内容
=======
6月18日 pingrixuexilianxi2修改了这个文件哦
>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5

<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了内容】是自己刚才的Commit提交的内容

=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了这个文件哦】是远程代码库更新的内容(即为pingrixuexilianxi2本地代码库推送修改内容)。

 

手动冲突解决方法:

  根据项目需求删除不需要的代码就行了,假如都需要的话我们只需要把 <<<<<<< HEAD=======     >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都删掉冲突就解决了(注意,在项目中最后这些符号都不能存在,否则可能会报异常)。

 1336199-20200623010600495-2059103978.png

最后将冲突文件标记为已解决,提交到远程仓库:

1336199-20200623010832552-117689472.png

采用外部文本文件对比工

具Beyond Compare解决冲突:

SourceTree配置文本文件对比工具Beyond Compare:

工具=>选项=>比较:

1336199-20200623010846029-1287602466.png

1336199-20200623010846029-1287602466.png

使用Beyond Compare解决冲突:

Beyond Compare使用技巧:

官方全面教程:https://www.beyondcompare.cc/jiqiao/

 

SourceTree打开外部和合并工具:

1336199-20200623011001843-1136765684.png

注意:第一次启动Beynod Compare软件需要一会时间,请耐心等待:

1336199-20200623011022849-1902126537.png

Beynod Compare进行冲突合并:

1336199-20200623011036473-506121355.png

点击保存文件后关闭Beynod Compare工具,SourceTree中的冲突就解决了,在SourceTree中我们会发现多了一个 .orig 的文件。接着选中那个.orig文件,单击右键 => 移除,最后我们推送到远程代码库即可:

1336199-20200623011106251-1595993209.png


相关文章
|
缓存 程序员 Shell
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (三)
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (三)
1894 0
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (三)
|
6月前
|
开发工具 git
【git】如何切换到之前的提交版本
【git】如何切换到之前的提交版本
121 1
|
开发工具 git
步骤记录:git上传项目
步骤记录:git上传项目
89 0
|
6月前
|
存储 缓存 开发工具
Git 拉取合并代码流程和多人协同开发的问题解决方法
Git 拉取合并代码流程和多人协同开发的问题解决方法
258 0
|
存储 数据可视化 网络安全
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (一)
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)
1454 0
|
开发工具 git
【Git】常用提交步骤
Git 工具在团队合作开发时提交时常用操作流程
375 0
【Git】常用提交步骤
|
缓存 开发工具 git
如何解决git忽略提交规则不生效的问题
如何解决git忽略提交规则不生效的问题
105 0
|
开发工具 数据安全/隐私保护 git
从一个git仓库内迁移分支代码到另一个git仓库,保存之前仓库的提交记录
有时候拉取开源仓库到自己的仓库,再拉取时又想保留开源之前的提交路径,并且自己的仓库不想展示分支名称为开源仓库名称,想改为master,可以看下面的几种方式
|
Java 开发工具 git
Git 分布式版本控制工具 06在IDEA中使用Git:获取Git仓库+本地仓库操作+远程仓库操作+创建/查看/切换/推送/合并分支操作
通过Git命令可以完成Git相关操作,为了简化操作过程,我们可以在IEDA中配置Git,配置好后就可以在IDEA中通过图形化的方式来操作Git。
559 0
|
Shell 开发工具 git
使用git命令对gitee存放项目到仓库、切换分支以及合并分支教程
使用git命令对gitee存放项目到仓库、切换分支以及合并分支教程
290 0