本文通过一个小demo来讲解怎么合并冲突。假设现在A和B两个准备共同制作一个网页,A写header和footer部分,B写主要的body部分,那么他们各自完成后自己的制作后就需要合并代码了。下面开始步入正题。 直入主题传送门
一、前期准备
在开始干活之前首先得把环境准备好,首先如果是Windows用户得先安装git,百度一下教程一大堆,这里就略过了。其次得其中一个人先创建好一个仓库并搭好主题,在本实例中就是只创建一个空的html即可。如图,代码仓库:
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html>
至此,主题搭建完毕,两个开发者只用clone下仓库然后各自完成自己的任务即可。
二、合并代码,解决冲突 <b id="code"></b>
假设A先完成了任务了:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="header">...</div> <!--A所做任务-->
<div class="footer">...</div> <!--A所做任务-->
</body>
</html>
然后上传到了代码仓库中,
然后B完成的他的代码,但是他的代码是这样的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="main">...</div> <!--B所做任务-->
</body>
</html>
这时B使用push
命令上传时就会报错:
意思就是有文件冲突了,需要先
git pull origin master
拉取最新的代码,然后git status
查看冲突的文件:可以看到,是
index.html
冲突了,那么打开该文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<<<<<<< HEAD
<div class="main">...</div> <!--B所做任务-->
=======
<div class="header">...</div> <!--A所做任务-->
>>>>>>> 3817f42f40396727d50225eef2349a14ca568d9b
<div class="footer">...</div> <!--A所做任务-->
</body>
</html>
其中看到通过====
号将代码分成了两个部分,其中第一部分是B做的修改,第二部分是A做的修改,所以这时只需将他们的代码何在一起即可:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="header">...</div> <!--A所做任务-->
<div class="main">...</div> <!--B所做任务-->
<div class="footer">...</div> <!--A所做任务-->
</body>
</html>
此时重新上传一遍即可
总结
#拉取最新版本
git pull origin debug
#合并冲突
#重新提交
git add .
git commit -m ""
git push origin debug
#合并分支
git merge origin debug
网友评论