使用git时,如何解决冲突

下面,通过一个实例来演示,模拟开发中的一种冲突的情况:

准备工作

第一步

在本地文件中创建一个git仓库:

输入图片说明

可见,此时,HEAD指针指向master分支。 然后新建文件, readme.txt , 添加内容: the content belongs to master :

输入图片说明

最后add、commit :

输入图片说明

第二步

创建、切换到dev分支:

$ git checkout -b dev
Switched to a new branch 'dev'

然后,用git branch命令查看当前分支:

$ git branch
* dev
  master

修改readme.txt 的内容, 修改为:

the content belongs to master
the content belongs to dev   

然后add、commit

$ git add readme.txt
$ git commit -m "commit in dev"
[dev 989b97f] commit in dev
 1 file changed, 1 insertion(+), 1 deletion(-)

再切换到master分支:

$ git checkout master
Switched to branch 'master'
$ git branch
  dev
* master

中途休息

现在,master分支和dev分支各自都分别有新的提交,变成了这样:

输入图片说明

开始合并

将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

猜你喜欢

转载自my.oschina.net/u/3471006/blog/1822438