Подтвердить что ты не робот

Создайте патч или файл diff из репозитория git и примените его к другому репозиторию git

Я работаю над проектом на основе WordPress и хочу исправить свой проект в каждой новой версии WP. Для этого я хочу создать патч между двумя коммитами или тегами.

Например, в моем репо /www/WP я делаю это:

$git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch

Или же

$git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch

/www/WP git natif WordPress

/www/myproject Мой проект git на основе WordPress

Командная строка git apply не работает, я думаю, потому что мы находимся в разных хранилищах.

Могу ли я создать файл патча без фиксации, просто дифференциал и применить его к другому репозиторию git?

Спасибо заранее.

4b9b3361

Ответ 1

Вы можете просто использовать git diff для создания унифицированного diff, подходящего для git apply:

git diff tag1..tag2 > mypatch.patch

Затем вы можете применить полученный патч с помощью:

git apply mypatch.patch

Ответ 2

Чтобы создать патч для нескольких коммитов, вы должны использовать команду format-patch git, например.

git format-patch -k --stdout R1..R2

Это будет экспортировать ваши коммиты в файл исправления в формате почтового ящика.

Чтобы создать патч для последнего фиксации, запустите:

git format-patch -k --stdout HEAD^

Затем в другом репозитории примените патч командой am git, например.

git am -3 -k file.patch

Смотрите: man git-format-patch и git-am.