[解決済み] Git リポジトリでのマージの衝突を解決するには?
質問
のマージコンフリクトを解消したい。 Git リポジトリ
どうすればいいのでしょうか?
どのように解決するのですか?
試してみてください。
git mergetool
GUIを開いて、それぞれのコンフリクトを順を追って説明し、どのようにマージするかを選択することができます。 時々、その後に少し手作業で編集する必要がありますが、通常はそれだけで十分です。 全部を手作業でやるよりはずっといいのは確かです。
による ジョシュ・グローバー氏のコメント :
コマンド
は、GUIをインストールしない限り、必ずしもGUIを開くとは限りません。実行
git mergetool
私の場合、結果はvimdiff
が使用されています。をインストールすることができます。 のいずれかを使用してください。meld
,opendiff
,kdiff3
,tkdiff
,xxdiff
,tortoisemerge
,gvimdiff
,diffuse
,ecmerge
,p4merge
,araxis
,vimdiff
,emerge
.
以下は、使用するプロシージャの例です。
vimdiff
を使用して、マージの競合を解決します。ベースとなるのは
このリンク
ステップ1 : ターミナルで以下のコマンドを実行します。
git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config mergetool.prompt false
これは、vimdiffをデフォルトのマージツールとして設定します。
ステップ2 : ターミナルで次のコマンドを実行します。
git mergetool
ステップ3 : 以下の形式でvimdiffが表示されます。
╔═══════╦══════╦════════╗
║ ║ ║ ║
║ LOCAL ║ BASE ║ REMOTE ║
║ ║ ║ ║
╠═══════╩══════╩════════╣
║ ║
║ MERGED ║
║ ║
╚═══════════════════════╝
これら4つのビューは
<ブロッククオートLOCAL - これは現在のブランチのファイルです。
BASE - 共通の祖先、両方の変更前のファイルの様子です。
<ブロッククオートREMOTE - 自分のブランチにマージするファイルです。
<ブロッククオートMERGED - マージ結果、これはレポに保存されるものです。
これらのビューの間を移動するには ctrl + w . MERGED ビューに直接アクセスするには、次のようにします。 ctrl + w に続いて j .
vimdiffのナビゲーションについての詳しい情報は こちら と こちら .
ステップ4 . MERGEDビューを次のように編集することができます。
REMOTEから変更を取得する場合
:diffg RE
BASEから変更点を取得する場合
:diffg BA
LOCALから変更を取得する場合
:diffg LO
ステップ5 . 保存、終了、コミット、クリーンアップ
:wqa
viの保存と終了
git commit -m "message"
git clean
diffツールで作成された余分なファイル(例:*.orig)を削除します。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】現在のブランチの先端がリモートブランチより遅れているため、更新が拒否されました。
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。