Git マージされていないファイル

Abdul Jabbar 2023年6月20日
Git マージされていないファイル

複雑なプロジェクトでチーム環境で Git を使用している間、いくつかの一般的な問題がいつでも発生する可能性が多くあります。 その中で、マージと競合は、これらの問題の一般的な部分です。

他のバージョン管理システムでの競合の解決は、コストと時間がかかるため、非常に多忙です。 一方、Git では、これらの状況に対処するのは非常に簡単です。

ほとんどの場合、Git は新しい変更をマージする方法を自動的に解決し、開発者がこれらのタスクをすぐに簡単に管理できるようにします。

Git マージのエラー

このエラーは通常、競合が解決されていないファイルが作業ディレクトリにある場合に発生します。 開発者がチーム構造内で巨大なプロジェクトに取り組んでいるときに競合が発生し、一部の開発者が同じファイルで作業し、変更が競合する方法で行われます。

2 人が同じファイルを操作している場合、おそらく Git はそれ自体でそれを把握できます。 しかし、2 人の異なる開発者が同じファイルに同じ変更を加えることがあるため、Git がそれを実行できないことがあります。

そして、この状況では、Git は何をすべきかわかりません。 ここでは、メモ帳または任意の Visual Studio Code ツールでファイルを開き、コード ファイル内の競合する行を手動でマージして、自分で状況を管理する必要があります。

gitステータス

まず、コマンド git status を使用して、マージの競合がどこにあるかを確認します。 ここで、Git は次のようにマージされていないパスのカテゴリを特に言及することで、競合する方法で編集された場所を見つけます。

$ git status
# On branch contact-form
# You have unmerged paths.
#   (fix conflicts and run "git commit")
#
# Unmerged paths:
#   (use "git add <file>..." to mark resolution)
#
#       both modified:   contact.html
#

紛争解決

競合が検出されたので、この競合した目的のファイルを適切な形式に変更します。 これは、2つの異なる手法で実現できます。

  1. この方法では、競合するファイルをメモ帳や Visual Studio Code ツールなどのエディターで開き、競合マーカーを見つけて、必要に応じて変更を加えます。 この変更により、ファイルが希望どおりに表示されます。
  2. もう 1つの方法では、次のように ours または theirs として知られる編集済みバージョンを使用して、目的のタスクを実行するよう Git に依頼できます。
git checkout --ours path/to/conflict-file.css

競合を正常に解決した後、最終結果のためにさらに 2つの手順を実行する必要があります。

  1. git add <filepath> を実行し、競合する各ファイルを解決済みとしてマークします。
  2. コマンド git commit を使用してプロセスを終了し、このコマンドで他の変更をコミットするのと同じように解決をコミットします。
著者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

関連記事 - Git Merge