Skip to content

Git 高效入门指南

TIP

如果链接失效或者有其他问题,请联系牛马程序员金牌讲师--迈克尔.牛马,微信:Michael-Niuma

3.3.解决冲突问题

1.在多人协作开发的项目中,每次开发之前每个人最好先同步更新一下 github 上最新的代码,可以减少冲突的概率

git pull

2.产生冲突

目前咱们演示项目 git-demo 中有两个开发这,第一个人,nodeing666,第二个,nd-00002,github 仓库中最新的代码是 nd-00002 这个人提交的代码,这个时候,如果 nodeing666 这个人在开发之前并没有拉取 github 中最新的代码,而是直接去修改 index.html 这个页面,例如:

<style>
  body{
    // nodeing666 修改了首页背景色
    background-color: red;
  }
</style>

代码写完后,nodeing666 把本地代码 push 到 github,此时是提交不上去的,效果如下:

3.解决冲突

第一步,产生冲突后,我们首先得去把远程仓库(origin/master)中的代码拉取下来,再去查看哪里产生冲突了,执行命令:

js
git fetch

执行结果:

第二步,接下来,我们需要去对比本地 master 分支和远程仓库中的 master 分支

git diff master origin/master

执行结果:

第三步,手动把远程 master 分支和本地 master 分支合并

js
git merge origin/master

执行后,index.html 页面中变成了这样:

此时,你需要取舍一下,当前冲突的代码到底保留什么,本次案例中,经过讨论,认为背景色保留为红色更好,因此,我们把 index.html 的代码修改成这样:

经过上一步手动修改代码,咱们已经解决好了冲突

第四步,重新提交代码并同步到远程仓库

js
git add index.html
git commit -m '解决背景冲突问题'
git push origin master

执行结果: