Создать патч, включающий определенные файлы в git - PullRequest
40 голосов
/ 30 марта 2012

Допустим, я на 7 коммитов впереди исходного / основного репо.Я хотел бы создать патч, который включает в патч определенные файлы, которые были изменены, а не все файлы.Или эквивалентное исключение определенных файлов из патча, которые были изменены.Как мне этого добиться?

Ответы [ 2 ]

55 голосов
/ 30 марта 2012

Вы можете ограничить вывод git diff, перечислив пути в конце команды (после --, чтобы избежать любых возможных конфликтов между путями и именами ветвей).Например, вы могли бы сделать следующее:

git diff origin/master HEAD -- app/models/region.rb doc/ > changes.patch

..., чтобы сгенерировать патч, который показывает только различия внутри конкретного файла и определенного каталога.

32 голосов
/ 30 марта 2012

Вы можете включать файлы в патчи с помощью:

git format-patch <rev> <files...>

Пример

git format-patch HEAD^^^ Makefile

Даст вам три файла 0001- [commit] ... 0003- [commit] толькосодержащий Makefile.

...