ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

SourceTreeでマージコンフリクトを解決する方法

編集済み 2 数か月前 によって ExtremeHow 編集チーム

ソースツリーマージコンフリクト解像度問題トラブルシューティングGitバージョン管理ツールウィンドウズマック

翻訳が更新されました 2 数か月前

マージコンフリクトは、Gitのようなバージョン管理システムを使用している開発者が直面する一般的な問題です。これらのコンフリクトを管理し解決するのに役立つツールの1つが、無料のGUIベースのクライアントであるSourceTreeです。この記事では、SourceTreeを使用してマージコンフリクトを解決するプロセスを説明し、各ステップを理解できるようにします。

マージコンフリクトの理解

SourceTreeでマージコンフリクトを解決する具体的な手順に入る前に、マージコンフリクトが何であるか、そしてそれがなぜ発生するのかを理解することが重要です。マージコンフリクトは、ブランチが互いに衝突する変更を含んでいる場合に発生します。たとえば、異なるブランチで2人の開発者が同じファイルの同じ行を異なる方法で修正した場合、Gitはどの変更に優先順位を与えるべきかを判断できません。

コンフリクトは、1人の開発者がファイルを編集している間に別の開発者がそれを削除またはリネームした場合にも発生する可能性があります。Gitがこれらの問題を見つけると、マージプロセスを停止し、コンフリクトを知らせて手動で解決する機会を提供します。

SourceTreeの設定

SourceTreeを使用してマージコンフリクトを解決するには、コンピュータにインストールして構成する必要があります。設定を始めましょう:

  1. SourceTreeのダウンロードとインストール:公式のSourceTreeウェブサイトにアクセスし、オペレーティングシステムに合ったインストーラをダウンロードし、インストール手順に従います。
  2. Gitリポジトリへの接続:SourceTreeを起動し、"Clone"オプションを使用して既存のリポジトリに接続するか、新しいリポジトリをセットアップします。このリポジトリでマージコンフリクトに遭遇し、解決することになります。

SourceTreeがインストールされ、リポジトリが接続されると、マージコンフリクトに取り組む準備が整います。

マージコンフリクトの特定

コンフリクトは通常、マージプロセス中に現れます。SourceTreeでのコンフリクトを特定するには、以下のステップに従います:

  1. マージの試行:まず、SourceTreeで2つのブランチをマージしようとします。メインウィンドウでマージしたいブランチを選択し、ツールバーの"Merge"ボタンをクリックします。マージ先とするターゲットブランチを選択します。
  2. コンフリクト通知:コンフリクトがある場合、SourceTreeがコンフリクトが検出されたというメッセージで通知します。
  3. コンフリクトの表示:SourceTreeの"File Status"タブをクリックして、コンフリクトがあるファイルのリストを表示します。コンフリクトがあるファイルは通常、赤い感嘆符でマークされています。

マージコンフリクトの解決

SourceTreeを効果的に使用してこれらのコンフリクトを解決する方法は次のとおりです:

ステップ1: コンフリクトを開く

"File Status"リストでマージコンフリクトがあるファイルをダブルクリックして始めます。SourceTreeは外部の差分/マージツールである"Diff Viewer"でコンフリクトされたファイルを開きます。

Diff Viewerは、衝突しているブランチを視覚的に区別する強力な機能です。3つの主要なセクションが表示されます:

各セクションはお互いに比較を提供し、違いを特定しやすくします。<<<<<<< HEAD>>>>>>> branch-nameなどのマーカーがコンフリクト部分を示しています。

ステップ2: 手動でのコンフリクトの解決

次のステップは、これらのコンフリクトを手動で解決することです:

  1. 変更の確認:"Local"および"Remote"の両方の変更を注意深く確認します。どの変更を維持するか、または両方の変更を新たにマージする必要があるかを判断します。
  2. 変更の選択:手動で矛盾している行を編集し、優先された結果を適用します。<<<<<<<>>>>>>>、区切り線=======などのコンフリクトマーカーがファイルから削除されるようにします。
  3. 変更の保存:テキストエディタで行った変更に満足できたら、ファイルを保存します。SourceTreeのDiff Viewerは自動的にこれらの変更を受け入れます。

ステップ3: コンフリクトを解決済みとしてマークする

ファイル内のコンフリクトが解決された今、SourceTreeでそれを解決済みとマークします:

  1. SourceTreeに戻る:SourceTreeに戻ります。"File Status"ビューで解決したファイルを見つけます。
  2. 変更のステージング:解決したファイルを選択し、"Stage"ボタンをクリックします。この操作は、Gitにファイルのコンフリクトが手動で解決されたことを伝えます。

ステップ4: 解決されたマージのコミット

すべてのコンフリクトが解決され、段階的に解決されたら、マージの結果をコミットする準備が整います:

  1. マージのコミット:"Commit"ボタンをクリックしてSourceTreeの"Commit"ウィンドウを開きます。コンフリクト解決を説明するコミットメッセージを追加します。"Commit"をクリックして操作を完了します。
  2. マージの完了:このコミットは、マージプロセスを効果的に完了させ、変更をGitリポジトリの履歴に書き込みます。

マージコンフリクトの予防

このガイドはコンフリクトの解決に焦点を当てていますが、コンフリクトを最小限に抑える方法を採用するのは良い考えです:

締めくくりの考え

マージコンフリクトは、Gitリポジトリでの共同開発において避けられないものです。しかし、SourceTreeのようなツールは、これらのコンフリクトを解決するプロセスを明確なビジュアル・エイドとユーザーフレンドリーなインターフェースで簡素化できます。コンフリクトの性質を理解し、SourceTreeを効率的に使用し、良いプラクティスを採用することで、より簡単かつ自信を持ってマージコンフリクトを解決できます。

このガイドはコンフリクトに対処する完全な方法を提示していますが、練習と経験がコンフリクト解決をマスターする上で重要な役割を果たすことを忘れないでください。マージコンフリクトに取り組むほど、素早く効率的にそれを解決するスキルが向上します。

記事の内容に誤りがある場合, あなたは


コメント