作为一个新手小白,为了学习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 创建一个分支并且切换到该分支;
继续执行vi命令,编辑那句HelloWord,填一句Object-c吧,换行,在写一句HelloWordJava表示一下对自己所学语言的尊敬,希望它以后对我好点,少出点异常.....(Object-c与Java表示:你学艺不精,怪我喽!)。
再执行一个疗程的git操作吧,git add . >git commit >git status;完事了,我们还要回到master分支,再执行一下vi操作,还改那句HelloWord。这次只是在后面添了一句HelloPHP。然后执行一个疗程的git操作......
好了,我们开始合并代码了,看看冲突是否如约而至......
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
网友评论