backlogのGitのプルリクエストで競合出ている場合の解決方法(黒い画面を使わない場合)
(22/12/05:追記しました)
(22/07/05:一部文章内容変更しました)
毎回イライラさせれられるので、対応手順を以降にメモる。
黒い画面を使う場合
競合を解決したいときはこちらの方法が一般的と思われるが、
本記事では「使わない場合」を述べるので、先達の有りがたいソースへのリンクを示すに止める。
プルリクエスト送ったら競合してたので解消手順のメモ - Qiita
プルリクエストでコンフリクトしたときの対処方法(備忘録) - Laravel学習帳 (laraweb.net)
backlogの管理画面のみを見て解決する場合
※22/12/08 追記)GitHub Desktop で対象リポジトリを管理してるなら、後述のGitHub Desktop(Windows版)で解決する場合が競合箇所の特定が断然楽。
こちらが本題。対象は次のような人。
- GUIしか使えない人(黒い画面が使えないって。。)
- 自分みたいに「GitHub Desktop」とかGUIベースのGitリポジトリ管理ツールで普段やってて黒い画面がめんどい時がある人
手順#5は多分要らないのかも。
- マージ対象のブランチに、通常のbacklogのマージの要領で、masterの変更内容をマージするプルリクエストを作成する。
- 作成したプルリクエストの詳細画面をひらき、画面下部の「コミット履歴」タブを押下して、マージされるコミットのリストを開く。
- 前述コミットのリスト毎に、更新されたファイルを確認し、競合していると思しきファイルを特定する。
- masterブランチの競合ファイルに、マージしたい変更を手動マージする。
- マージしたいブランチの競合ファイルの内容を、masterブランチのそれと同一にする。
22/12/08:追記)GitHub Desktop(Windows版)で解決する場合
※Mac版の場合も似たようなもんかと思うが、調べてない(__)
まず前提として、次の通りとする。
- 対象のリポジトリをGitHub Desktopと連携させてる。
- MS Codeをインストール済み。
次の手順を行う。
GitHub Desktopを開き、Current Branch をマージ先のブランチとする。
メニュー「Branch>Merge into current Branch...」を選択。
→ダイアログが開き、マージ元のブランチのリストが表示される。
マージ元のブランチを選択してする。
→競合ある場合は、次の様にダイアログ下に表示される。
※以降、競合ある場合の手順。
「Create a merge commit」ボタンを押す。
→競合ない場合は、そのままマージ成功。競合ある場合は、次の様に、競合しているファイルがリスト表示される。
競合ファイルの項目右の「Open Visual Studio Code」をクリックする。
→MS Codeのエディタが開き、競合箇所が次の様な形で表示される。
競合箇所の表示上部に「Accept Current Charge|...」とか並んでいる文言があるが、
「Accept Current Change」をクリックすると、マージ先の内容が保持され、
「Accept Incoming Charge」をクリックすると、マージ元の内容がマージされる。
また、直接編集も出来る。
編集後、保存する事で対象ファイルの競合が解消される。
全ての競合が解消されると、次のように「Continue merge」ボタンを押せるようになる。ボタンクリックでマージ完了。
関連するタグ
関連するタグは現在ありません。