从一个分支合并到另一个分支会引发冲突

dal*_*len 2 git

我有主(HEAD)分支和开发分支.当我在dev分支上进行更改时,我希望基本上将这些更改合并到HEAD中.

git checkout master git merge develop

这是错误:

Auto-merging addons/shared_addons/themes/beaver/views/partials/footer.html
CONFLICT (content): Merge conflict in addons/shared_addons/themes/beaver/views/partials/footer.html
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)

那么我做错了什么?为了让您了解我的工作流程:

我有一个post-commit来检测我是否在master上,然后执行命令.但如果我正在开发,它就不会.因此,当我在开发中进行更改时,我基本上只想将所有更改从Dev转换为Master.

rjm*_*kay 5

你没有做错任何事情,有时合并会产生冲突.这通常发生在同一文件中的同一行在开发和主分支上都发生了变化时.

您需要做的是解决这些冲突,然后提交结果.如果您查看addons/shared_addons/themes/beaver/views/partials/footer.html,您应该标记有冲突的区域.标记区域以<<<<<<<开头,以>>>>>>>结束,两个冲突块本身除以=======.

例如:

<html>
  <head>
<<<<<<< HEAD
    <link type="text/css" rel="stylesheet" media="all" href="style.css" />
=======
    <!-- no style -->
>>>>>>> master
  </head>
  <body>
    <h1>Hello,World! Life is great!</h1>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

手动解决冲突

<html>
  <head>
    <link type="text/css" rel="stylesheet" media="all" href="style.css" />
  </head>
  <body>
    <h1>Hello,World! Life is great!</h1>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后添加文件并提交合并

git add addons/shared_addons/themes/beaver/views/partials/footer.html
git commit -m "Merged develop into master fixed conflict."
Run Code Online (Sandbox Code Playgroud)

这些页面提供了有关解决合并冲突的更详细指南: