Порядок действий
- Создание патча (например, git diff --no-prefix > some_thing.patch)
- Применение патча. patch -p0 < some_thing.patch
-pN - параметр отвечающий, сколько родительских директорий пропустить:
Показать всё содержимоеОпция -p будет отбрасывать уровни каталогов из патч-файла. Например: если у Вас есть патч-файл с таким заголовком:
--- old/modules/pcitable Mon Sep 27 11:03:56 1999
new/modules/pcitable Tue Dec 19 20:05:41 2000
Использование ключа -p0 будет подразумевать, что от Вашей текущей рабочей директории, требуется найти подкаталог "new", затем "modules" расположенный ниже, затем файл "pcitable" в данном каталоге.
Использование ключа -p1 отбросит 1-ый уровень из пути и будет ожидаться поиск (из Вашей текущей рабочей директории) каталога "modules", затем файла "pcitable". Patch проигнорирует директорию "new" упомянутую в заголовке патч-файла.
Использование ключа -p2 отбросит два первых уровня из пути. Будет ожидаться поиск командой Patch каталога "pcitable" в текущей рабочей директории. Patch проигнорирует каталоги "new" и "modules" упомянутые в заголовке патч-файла.
Использование ключа -p3, в данном примере, будет не лучшей идеей. Patch, скорее всего, ничего не пропатчит.
Комментарии