很久以前,我从一个 tarball 安装了 Moodle,并且从那以后一直在一个私有 git 存储库中对其进行自定义(主要是通过模块,但我不是 100% 确定我从未更改过基本代码)。现在我想以一种让我在保留更改历史记录的同时获取更新的方式集成他们的上游存储库,并且如果我进行了与基本代码冲突的任何更改,我会通知我。
我的问题是,当我尝试在远程存储库中合并时,git 不明白这两个存储库包含相同的代码,并将每个文件都视为添加/添加冲突。我想这样做,以便 git 无论如何都会合并这些,只留下实际的冲突让我处理。
到目前为止我所做的:
- git 添加远程moodle git://git.moodle.org/moodle.git
- git 获取穆勒
- git checkout -b upstream_sync v2.2.1 # 我的 repo 所基于的版本的标签(先同步起来,然后开始拉下以后的更新似乎是谨慎的;也许这不是必需的?)
- git 合并大师
来自 git merge 的示例输出(我在每个文件中都看到了这个):
Auto-merging admin/process_email.php
CONFLICT (add/add): Merge conflict in admin/process_email.php
我可以去git mergetool并手动查看每个合并,但我真的很想避免那种乏味。提前感谢任何可以提供帮助的人!