作为一个新手小白,为了学习sourceTree处理文件冲突,写一个小的例子记录一下。
准备工作
首先准备了一个文件,因为只是为了学习使用方式和理解帮助手册中所写的工作原理,所以并没有使用代码,只是简单的创建了一个文本文件(其实是因为学的时间短,没有能拿的出手的代码,我是不会告诉你的)。![](https://img.haomeiwen.com/i13778663/bffb00e28714fc2f.png)
一个创建好的空文本文件
![](https://img.haomeiwen.com/i13778663/0c8c4ea5a07cf182.png)
![](https://img.haomeiwen.com/i13778663/3d7ec0bfba5ca68f.png)
![](https://img.haomeiwen.com/i13778663/48ce956671dedac3.png)
接下来就是一个疗程的操作了:
![](https://img.haomeiwen.com/i13778663/f9b893fdd2125b5d.png)
git add . 把工作时的所有变化提交到暂存区(那个点前面是有空格的..格的..的);
git commit 将暂存区里的改动给提交到本地的版本库;执行完这句话会进入一个编辑页面,编辑提交日志,按i,出现Insert提示,输入提交日志,按esc结束编辑,按:wq退出编辑界面,这个:wq是保存并退出的意思,吧啦吧啦.....感觉自己嘴皮子好溜!这是提交日志的地方
![](https://img.haomeiwen.com/i13778663/277ae0e9516f6ff5.png)
![](https://img.haomeiwen.com/i13778663/8f823fdd63ef175d.png)
nothing to commit, working tree clean : 没有要提交的内容,工作树已清除(翻译软件万岁),好了,成功了,我们可以创建另外一条分支了,毕竟我们是要制造冲突的人。
git checkout -b 创建一个分支并且切换到该分支;
![](https://img.haomeiwen.com/i13778663/de52ec6d0baff845.png)
继续执行vi命令,编辑那句HelloWord,填一句Object-c吧,换行,在写一句HelloWordJava表示一下对自己所学语言的尊敬,希望它以后对我好点,少出点异常.....(Object-c与Java表示:你学艺不精,怪我喽!)。
再执行一个疗程的git操作吧,git add . >git commit >git status;完事了,我们还要回到master分支,再执行一下vi操作,还改那句HelloWord。这次只是在后面添了一句HelloPHP。然后执行一个疗程的git操作......
好了,我们开始合并代码了,看看冲突是否如约而至......
![](https://img.haomeiwen.com/i13778663/274515bc86342081.png)
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.自动合并test.txt
冲突(内容):在test.txt中合并冲突
自动合并失败;修复冲突,然后提交结果。
冲突来了,吓得我赶紧打开了SourceTree查看一下,在新建 > 添加已经存在的本地仓库,把那个文件放进来就可以了
![](https://img.haomeiwen.com/i13778663/b9e50a34df8f9d56.png)
![](https://img.haomeiwen.com/i13778663/29b92f1be28d17ac.png)
![](https://img.haomeiwen.com/i13778663/9bb836acf3eb074d.png)
![](https://img.haomeiwen.com/i13778663/43da21909a903f5c.png)
![](https://img.haomeiwen.com/i13778663/0483319fc0b2894e.png)
最后解决完成了,我们写好提交信息,点击提交即可,回头看看本地的文件吧......
![](https://img.haomeiwen.com/i13778663/f266f1b2de06c14e.png)
网友评论