在Mac上利用sourceTree 解决代码合并冲突

作为一个新手小白,为了学习sourceTree处理文件冲突,写一个小的例子记录一下。

准备工作

首先准备了一个文件,因为只是为了学习使用方式和理解帮助手册中所写的工作原理,所以并没有使用代码,只是简单的创建了一个文本文件(其实是因为学的时间短,没有能拿的出手的代码,我是不会告诉你的)。
屏幕快照 2019-01-20 下午8.38.07.png

一个创建好的空文本文件
屏幕快照 2019-01-20 下午8.42.14.png

屏幕快照 2019-01-20 下午8.48.04.png
进入编辑内容,按下i键,编辑页面下面会出现Insert提示,就可以输入了,本来想写个百八十字的人生感慨,后来想想为了测试,算了吧,大手一挥,敲下了这句让我心生感慨的一句:HelloWord!然后esc结束编辑状态,然后输入:wq退出编辑页面(一定要切回英文输入,如果出现.swp,可以百度一下,非正常退出vi时会出现)。
屏幕快照 2019-01-20 下午9.13.53.png

接下来就是一个疗程的操作了:
屏幕快照 2019-01-20 下午9.28.06.png
git init 初始化git,并且会默认创建一条master分支;
git add . 把工作时的所有变化提交到暂存区(那个点前面是有空格的..格的..的);
git commit 将暂存区里的改动给提交到本地的版本库;执行完这句话会进入一个编辑页面,编辑提交日志,按i,出现Insert提示,输入提交日志,按esc结束编辑,按:wq退出编辑界面,这个:wq是保存并退出的意思,吧啦吧啦.....感觉自己嘴皮子好溜!这是提交日志的地方
屏幕快照 2019-01-20 下午10.09.14.png

既然提交了,我们查看下状态吧..... git status
屏幕快照 2019-01-20 下午9.46.44.png

nothing to commit, working tree clean : 没有要提交的内容,工作树已清除(翻译软件万岁),好了,成功了,我们可以创建另外一条分支了,毕竟我们是要制造冲突的人。
git checkout -b 创建一个分支并且切换到该分支;

Switched to a new branch 'develop' : 切换到新的分支“开发”
屏幕快照 2019-01-20 下午9.59.51.png

继续执行vi命令,编辑那句HelloWord,填一句Object-c吧,换行,在写一句HelloWordJava表示一下对自己所学语言的尊敬,希望它以后对我好点,少出点异常.....(Object-c与Java表示:你学艺不精,怪我喽!)。
再执行一个疗程的git操作吧,git add . >git commit >git status;完事了,我们还要回到master分支,再执行一下vi操作,还改那句HelloWord。这次只是在后面添了一句HelloPHP。然后执行一个疗程的git操作......

好了,我们开始合并代码了,看看冲突是否如约而至......

git merge 合并指定分支到当前分支;
屏幕快照 2019-01-20 下午10.35.55.png
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.自动合并test.txt
冲突(内容):在test.txt中合并冲突
自动合并失败;修复冲突,然后提交结果。
冲突来了,吓得我赶紧打开了SourceTree查看一下,在新建 > 添加已经存在的本地仓库,把那个文件放进来就可以了
屏幕快照 2019-01-20 下午10.42.57.png
我们现在可以看到冲突的文件以及冲突的内容了
屏幕快照 2019-01-20 下午10.47.03.png
HEAD下标示着你当前所在分支的内容,=======下表示着你要合并过来的内容,到了抉择的时候了,你可以在这里手动解决他们,在访达中打开,简单而暴力,看谁不爽,删它,记得处理完之后冲突标示符也要删掉啊,然后将该文件标记为冲突以解决。或者直接选择我的版本或他人版本,选择我的版本即使用当前所在分支的内容,他人版本即使用要合并过来的内容。当然也可以启动外部的合并工具,箭头所指,刀下留字!选好之后保存!忽略一些暂时不用的文件
屏幕快照 2019-01-20 下午11.03.08.png

屏幕快照 2019-08-09 上午10.05.31.png
屏幕快照 2019-01-20 下午10.56.49.png

最后解决完成了,我们写好提交信息,点击提交即可,回头看看本地的文件吧......
屏幕快照 2019-01-20 下午11.18.23.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,084评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 9,406评论 0 11
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 11,085评论 1 17
  • 布尔操作符用来测试两个值的关系,十分重要,最常用的就是在if....else中。下面对它的用法做一个简单总结。 一...
    葡萄果茶阅读 2,047评论 0 0
  • 一直对婚前啪啪啪say no,伴侣说再say no就分手,我啪不啪? 这是奇葩说第三季20160326期的辩题,看...
    曼今阅读 3,841评论 3 1

友情链接更多精彩内容