Я бы посоветовал вам сначала создать ветку, начиная с коммита, который определенно старше, чем тот, на котором основана версия поставщика.
Затем вы должны оформить заказ в этой новой ветке и синхронизировать рабочую копию с источниками вашего поставщика. Для этого вы должны удалить все исходные файлы из рабочей копии (обязательно пропустите файлы .git
и .gitignore
!), А затем скопируйте туда свой код. Вы можете попробовать использовать rsync
для этого.
После этого вы можете использовать git diff
, чтобы увидеть, какие изменения были внесены.
Зафиксируйте эти изменения в новой ветке с помощью git commit
.
Теперь переключитесь на основную ветку (git checkout master
) и перенесите на нее новую ветку (git rebase new-branch
). Изменения, которые были в обеих ветках (они появляются, поскольку вы не знаете точную фиксацию, на которой основано ядро вендора), будут автоматически объединены и не вызовут конфликтов. Другие конфликты должны быть разрешены.
После успешной перезагрузки ваш коммит HEAD будет содержать изменения, сделанные вашим поставщиком.
Я надеюсь, что это будет работать для старой версии.