何年も前に、Moodle を tarball からインストールし、それ以来、プライベート git リポジトリでカスタマイズしてきました (主にモジュールを使用しますが、基本コードを変更したことがないかどうかは 100% 確信が持てません)。ここで、変更履歴を保持しながら更新を取得できるように、アップストリーム リポジトリを統合し、ベース コードと競合する変更を行った場合に通知するようにしたいと考えています。
私の問題は、リモート リポジトリでマージしようとすると、2 つのリポジトリに同じコードが含まれていることを git が認識せず、すべてのファイルを追加/追加の競合として扱うことです。とにかくgitがこれらをマージし、実際の競合のみを処理できるようにしたいと思います。
私がこれまでに行ったこと:
- git add リモート ムードル git://git.moodle.org/moodle.git
- git フェッチ ムードル
- git checkout -b アップストリーム_sync v2.2.1 # 私のレポが基づいていたバージョンのタグ (最初に同期を取得してから、後で更新を取得するのが賢明なように思われましたが、それは必要ないかもしれませんが?)
- gitマージマスター
git merge からの出力例 (すべてのファイルでこれを確認できます):
Auto-merging admin/process_email.php
CONFLICT (add/add): Merge conflict in admin/process_email.php
git mergetoolに行って、すべてのマージを手動で確認することもできますが、その退屈な作業は避けたいと思っています。助けていただける方、よろしくお願いします!