冲突发生的原因是因为本地master分支比远程仓库的master分支的提交不一样了,比起远程仓库多一次提交。所以对于本文需要使用远程仓库。
首先需要先创建一个远程仓库,然后创建一个readme.txt文件。在这个文件中写入一些东西,并且提交到远程仓库。
没有创建仓库需要先创建仓库,并且关联到远程仓库。
现在创建feature1分支
git checkout -b feature1
修改readme.txt文件
echo 分支冲突测试内容 >> readme.txt
提交更改
切换到master分支
git checkout master
在master分支下更改readme.txt文件并且提交
echo readme第二次提交内容在master分支 >> readme.txt
git add readme.txt
git commit -m '在master下第二次提交'
现在合并时间到,试一下合并分支
git merge feature1
上面报告自动合并失败,这是因为两条分支的提交线已经相同了。这两条时间线的文件各有各的内容。所以就会出现失败。
只需要将这两条分支线的内容合并,再提交就好了。
现在再看readme.txt文件
可以看到git用
==========
>>>>>>>>>>
这样的符号标记出分支的不同文件
现在可以用编辑器将内容合并
保存后再提交,并且推送到远程仓库
git add readme.txt
git commit -m '分支合并'
git push origin master
现在就完成了合并。
可以删除feature1分支,master的提交线已经向前移动了。
git branch -d feature1 #删除feature1分支
其它命令
#该命令可以查看合并
git log --graph --pretty=oneline --abbrev-commit
#查看分支合并图
git log --graph