Ответ 1
Вы можете просто использовать git diff
для создания унифицированного diff, подходящего для git apply
:
git diff tag1..tag2 > mypatch.patch
Затем вы можете применить полученный патч с помощью:
git apply mypatch.patch
Я работаю над проектом на основе 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?
Спасибо заранее.
Вы можете просто использовать git diff
для создания унифицированного diff, подходящего для git apply
:
git diff tag1..tag2 > mypatch.patch
Затем вы можете применить полученный патч с помощью:
git apply mypatch.patch
Чтобы создать патч для нескольких коммитов, вы должны использовать команду 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
.