使用git时,如何解决冲突

下面,经过一个实例来演示,模拟开发中的一种冲突的状况: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看看分支的合并状况:

输入图片说明

end

相关文章
相关标签/搜索