Как применить изменения на другом базовом пути, используя git - PullRequest
0 голосов
/ 25 апреля 2018

Проект, с которым я работаю, был построен с использованием ant в прошлом.Несколько недель назад он был модульным и перенесен в Maven.Таким образом, изменилась структура проекта и пути к каталогам src.Например, от /src до /module-A/src/main/java.

Таким образом, репозиторий выглядит следующим образом

       mavenization        master
           V                 |
                             V
o----o-----o-----o-----o-----o      <-- maven project with module-A/src/main/java
    \
     \
      o-----o-----A                 <-- still an ant project with `/src`
                  ^
                  |
           maintenance branch

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 's * -' * '* * * *.production.

Моя проблема в том, что мне нужно исправить ошибку в mainenance branch и, конечно, применить ее к мастеру. Но это не работает, потому что структура проекта изменилась с коммитом mavenization.

Ну, структура каталогов в /module-A/src/main/java такая же, как и в каталоге maintenance branch /src.Но так как базовый каталог отличается, я думаю, что выбор вишни невозможен, или вы знаете какой-то вариант?

Конечно, я мог бы объединить файлы вручную или с помощью инструмента, такого как WinMerge, но я ищулучшее решение с использованием git.

Как применить изменения commit A с другим базовым путем к ветви master?

1 Ответ

0 голосов
/ 25 апреля 2018

Сделайте патч для коммита mavenization. Предположим, что хеш коммита равен abc123.

git format-patch -1 abc123

И вы получите патч с именем 0001.xxx.patch.

Переключиться на master:

git checkout master

Примените патч:

git am 0001.xxx.patch --directory=module-A/

git apply также работает таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...