2013-07-26 3 views
1

Я экспортирую один файл diff, используйте 'git diff HEAD^ HEAD > a.diff'. Итак, я хочу использовать патч a.diff для другого исходного кода. Я использую команду 'patch -p0 < a.diff', но это не работает. сказал: «Не могу найти файлы». Итак, мой вопрос: как поместить файл a.diff в исходный код? Может кто-нибудь помочь мне решить эту проблему? большое спасибо.Как слить git .diff-файл в исходный код?

+0

Только в случае, вы уверены, что ваш случай использования не покрывается ' git cherry-pick'? – kostix

ответ

3

С выходом git выход для дифференциального сигнала требует удаления до первого / в пути. Это должно работать:

patch -p1 < a.diff 

Также попробуйте использовать git format-patch и git am (сохраняет журналы, если применять патч в другом каталоге мерзавца):

rm -rf *.patch 
git format-patch -1 
git am *.patch 
rm -rf *.patch 
+0

Параметр '-p 1' командной строки' patch' удаляет символ '/', а не один (самый левый) компонент * пути * из каждого имени пути в файле исправления, причем компонент является именем каталога, возможно связанным с разделителем пути. – kostix

+0

Спасибо, я обновил свой ответ. – cforbish

Смежные вопросы