下面,经过一个实例来演示,模拟开发中的一种冲突的状况:git
在本地文件中建立一个git仓库:指针
可见,此时,HEAD指针指向master分支。 而后新建文件, readme.txt , 添加内容: the content belongs to master :code
最后add、commit :图片
建立、切换到dev分支:开发
$ git checkout -b dev Switched to a new branch 'dev'
而后,用git branch命令查看当前分支:it
$ git branch * dev master
修改readme.txt 的内容, 修改成:io
the content belongs to master the content belongs to dev
而后add、commitast
$ git add readme.txt
$ git commit -m "commit in dev" [dev 989b97f] commit in dev 1 file changed, 1 insertion(+), 1 deletion(-)
再切换到master分支:file
$ git checkout master Switched to branch 'master'
$ git branch dev * master
如今,master分支和dev分支各自都分别有新的提交,变成了这样:im
将dev合并到master , 会出现冲突:
直接查看readme.txt的内容:
<<<<<<< HEAD the content belongs to master ======= the content belongs to master the content belongs to dev >>>>>>> dev
Git用<<<<<<<,=======,>>>>>>>标记出不一样分支的内容,咱们修改以下后保存:
the content belongs to master the content belongs to dev , too
再提交:
$ git add readme.txt $ git commit -m "conflict fixed" [master 6bbd9b3] conflict fixed
如今,master分支和dev分支变成了下图所示:
能够用git log看看分支的合并状况: