Может ли кто-нибудь объяснить мне разницу между файлом .diff и .patch.
Разница между патчами и файлами diff
Ответ 1
Важно то, что содержимое файла, а не расширение. Оба эти расширения подразумевают, что какая-то утилита diff (diff, git diff, git format-patch, svn diff) выдала результат.
Многие утилиты diff производят вывод, который может быть применен командой patch. Вам часто нужно использовать параметры -d и -p для patch, чтобы получить правильные пути (префикс полосы, целевой каталог имен). Если вы видите одно из этих расширений в распространенном в Интернете файле, это почти наверняка указывает на совместимость с patch.
Git выход diff совместим с патчем, но я считаю, что svn не является. Конечно, простые патчи, созданные git diff, вероятно, лучше всего применяются git apply, а патчи, созданные git format-patch, предназначены для использования с git-am.
Ответ 2
Нет никаких различий. Утилита diff создает файл исправления, который применяется с помощью patch.
Ответ 3
patch - это унифицированный diff (-u), если вы выполните:
diff -u oldfile newfile
с командной строкой patch, вы можете применить различия к oldfile, чтобы стать новым файлом где-то еще.