2

マスター(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.

だから私は何が間違っているのですか?私のワークフローのアイデアをあなたに与えるために:

マスターにいるかどうかを検出するポストコミットがあり、コマンドを実行します。しかし、私が開発中の場合、そうではありません。したがって、開発中に変更を加えている間は、基本的にすべての変更を開発からマスターにプルしたいと思います。

4

1 に答える 1

5

何も悪いことをしていません。マージで競合が発生することがあります。これは通常、同じファイルの同じ行が開発ブランチとマスターブランチの両方で変更された場合に発生します。

あなたがする必要があるのは、それらの衝突を解決し、そして結果をコミットすることです。addons / shared_addons / themes / beaver / views / partials / footer.htmlを見ると、競合がマークされている領域があります。マークされた領域は<<<<<<<で始まり、>>>>>>>で終わり、2つの競合するブロック自体が=======で分割されます。

例えば:

<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>

競合を手動で解決する

<html>
  <head>
    <link type="text/css" rel="stylesheet" media="all" href="style.css" />
  </head>
  <body>
    <h1>Hello,World! Life is great!</h1>
  </body>
</html>

次に、ファイルを追加してマージをコミットします

git add addons/shared_addons/themes/beaver/views/partials/footer.html
git commit -m "Merged develop into master fixed conflict."

これらのページには、マージの競合を解決するためのより詳細なガイドがあります。

于 2013-02-25T06:51:40.770 に答える