1. ホーム
  2. git

[解決済み] マージの競合を解決した後、マージを終了するにはどうすればよいですか?

2022-03-16 01:19:31

質問

を読みました。 基本的な分岐とマージ のセクションでは、Git Community Book を使用しています。

そこで、それに従って、1つのブランチを作成します。 experimental .

それから、私。

  1. experimental ブランチに切り替える (git checkout experimental)
  2. 大量の変更を加える
  3. コミットする (git commit -a)
  4. masterブランチに切り替える (git checkout master)
  5. いくつかの変更を加え、そこにコミットします。
  6. experimental に戻す (git checkout experimental)
  7. master の変更を experimental にマージ (git merge master)
  8. いくつかのコンフリクトがありますが、それを解決した後、'git add myfile' を実行しました。

  9. そして今、私は行き詰っています、マスターに戻ることができません

すると

 $ git checkout master
error: Entry 'res/layout/my_item.xml' would be overwritten by merge. Cannot merge.

と言ってやりました。

$ git rebase --abort

リベースが進行していない?

で、やったのは.

$  git add res/layout/socialhub_list_item.xml
$ git checkout master
error: Entry 'res/layout/my_item.xml' would be overwritten by merge. Cannot merge.

masterブランチに戻るにはどうしたらいいですか?

解決方法は?

マージ中に競合が発生した場合、手動でマージ コミットを終了させる必要があります。最初の 2 つのステップ、つまり競合するファイルを編集して、次に git add を付けて、解決済みとしてマークします。最後に、実際にマージをコミットするには git commit . この時点で、再びブランチを切り替えることができるようになります。

クイックヒント : を使用することができます。 git commit -am "your commit message" を使えば、追跡したファイルに対して追加とコミットの操作を同時に行うことができます。(出典: @vaheeds)