SourceTree使用教程(四)---冲突解决

概述

       虽然在团队协作开发中强调尽量避免操作同一文件,以避免冲突,但是在实际开发中还是会遇到冲突,所以掌握解决冲突的方法必不可少。

方法步骤

1 解决冲突就要先制造冲突,冲突一般是由于两个人同时修改同一文件而造成的。在GitHub上修改远程仓库文件模拟一个人操作,sourceTree本地修改同一文件模拟另一个人操作。

2 登录GitHub ,打开GitTest,编辑test1.txt文件

3 在文件末尾增加 内容 code conclick1,点击提交。如下图所示。

4 打开本地工作副本的test1.txt文件,新增内容code conclick2,如下图:

5 打开sourceTree,可以看到本地工作副本有个待提交记录。

6推送代码。这个时候你修改完了本地的功能,并不知道远程仓库上也有人提交了该文件的修改。直接推送本地修改,推送本地工作副本到远程仓库,运行完成后会报错,大概是提示本地仓库和远程仓库版本不一致,无法提交,但是本地工作副本的修改却是已经提交到了本地仓库。如下图。

7 既然提示 和远程仓库版本不一致,无法推送,那只能先拉成一致了。点击拉取图标,等执行完,就会出现下图所示。有一个待拉取的图标和一个待推送的图标,并且test1.txt文件的图标变成了黄色的感叹号。这个时候文件的冲突就造成了。

8 冲突文件会把两者的修改以冲突的方式合在一个文件里,等待使用者去处理。那么基本的处理思想是:要么使用其中某一个人的,要么使用两者的组合。

冲突的解决需要一个外部代码对比工具,我这里使用的是Beyond Compare 4,大家可以自己百度下载安装,然后集成到sourceTree软件中。如下图。在外部对比工具中找到Beyond Compare 4的可执行程序,点击确定。

9 下面开始使用代码对比工具解决冲突,选中待解决冲突的代码,右键 解决冲突,打开外部合并工具。

10 等待一会,Beyond Compare 4就会被打开。第一块是本地修改的版本,第二块是冲突两者(本地仓库和远程仓库)相同的版本基准,第三块是 远程仓库的修改。第四块是冲突处理后的代码。

11 本次解决冲突是为了合并两者的修改,所以我会把第一块和第三块所做的修改按照正确的逻辑顺序,合到第四块。如下图,点击保存。关闭该对比软件。

12 切到sourceTree界面,可以看到多了一个解决冲突的中间文件,由于冲突已解决,直接右键移除,

13 可以看到冲突已解决,代码已正确合并。推送该合并。

14 这样冲突就被解决了,可以看到本地工作副本和远程仓库的代码都是一致的了。

  • 14
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以帮你了解 Sourcetree 的使用方法。Sourcetree 是一个可视化的 Git 客户端,可以帮助你更方便地管理和使用 Git 代码库。下面是一个简单的教程: 1. 下载和安装:首先,你需要从 Sourcetree 官方网站(https://www.sourcetreeapp.com/)下载合适的版本,并按照提示进行安装。 2. 配置账户:打开 Sourcetree 后,首次运行时会要求你配置账户信息。根据你使用的 Git 托管平台(如 GitHub、BitBucket 等),选择相应的选项并提供必要的信息。 3. 克隆代码库:在 Sourcetree 主界面上,点击"克隆/新建"按钮。在弹出的窗口中,提供代码库的远程 URL 和本地保存路径,然后点击"克隆"按钮。 4. 查看和管理代码:在 Sourcetree 的主界面上,你将看到克隆的代码库列表。点击某个代码库,可以查看其中的文件和提交历史。你可以对文件进行修改、添加、删除等操作,并通过提交按钮将修改推送到远程仓库。 5. 分支管理:Sourcetree 提供了方便的分支管理功能。你可以创建、切换、合并和删除分支,以及查看不同分支之间的差异。 6. 解决冲突:当多个人同时修改同一文件时,可能会发生冲突Sourcetree 提供了冲突解决工具,让你能够方便地合并代码并解决冲突。 这只是 Sourcetree 的一些基本用法,你还可以进一步探索其它功能和高级用法。希望这个简单的教程能帮助你开始使用 Sourcetree。如果有任何问题,请随时向我提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值