Skip to main content

Как применить патч к файлу с помощью Linux

Редактирование и патч DSDT через MaciASL – Урок 2 (Апрель 2025)

Редактирование и патч DSDT через MaciASL – Урок 2 (Апрель 2025)
Anonim

В этом руководстве представлен общий обзор применения патча к программе или файлу.

Командой, используемой для применения исправлений, является команда patch, но для применения патча команда diff также должна использоваться для обеспечения различий, которые необходимо исправлять.

Почему вы создали патч

Представьте, что у вас есть файл HTML следующим образом:

Мой сайт

Добро пожаловать в MySite

Вышеуказанный источник, загруженный в веб-браузер, будет показывать слова «Добро пожаловать в MySite».

Обычно при программировании существует несколько версий одного и того же файла. Например, будет одна версия, которая является текущей версией live, в ветке разработки будет другая версия, которая может содержать несколько изменений, наконец, может быть другая версия в ветви релиза.

Релиз-релиз будет версией, используемой реальными пользователями (т. Е. В этом случае посетителями сайта MySite). Скажем, что MySite находится в версии 1.0. После этапа разработки вы создадите ветвь релиза, которая будет в этом случае 1.1. Отделение разработки будет впереди ветки релиза, поскольку оно может содержать изменения, которые не должны выпускаться в версии 1,2, но будет для версии 1.1.

Представьте, что была ошибка, из-за которой MySite следует называть YourSite. Вы можете пойти в каждую ветку по очереди и внести изменения в живую версию, версию разработки и версию выпуска, вы можете внести изменения в качестве исправления в прямом эфире, а затем применить патч к ветвям разработки и выпуска.

Пример работы

Создайте файл myfile.html со следующим кодом:

Мой сайт

Добро пожаловать в MySite

Это обработанный пример исправления исходного кода.

Создайте еще один файл с именем myfile_v2.html со следующим кодом:

Твой сайт

Добро пожаловать в YourSite

Это обработанный пример исправления исходного кода.

Первый файл - это оригинальная веб-страница с заголовком «Добро пожаловать в MySite». Второй файл совпадает с первым файлом, за исключением того, что MyFile в тексте переименовывается в YourFile.

Как создать файл Diff

Чтобы создать патч, нам нужно разобраться в различиях между myfile.html и myfile_v2.html.

Мы можем сделать это с помощью команды diff следующим образом:

diff -u myfile.html myfile_v2.html> myfile.patch

Вы можете открыть файл myfile.patch в редакторе nano следующим образом, чтобы просмотреть его:

nano myfile.patch

Линии, которые не изменяются, отображаются синим цветом. Линии, которые были удалены, показаны красным цветом, а строки, которые были добавлены, отображаются зеленым цветом.

Как применить патч, используя команду исправления

Чтобы применить патч к myfile.html, используйте следующую команду:

patch <myfile.patch

Как вернуть патч

Это применит изменения, созданные с помощью команды diff, к исходному файлу myfile.html.

Если вы хотите вернуть патч так, чтобы myfile.html вернулся к тому, как он был изначально, используйте следующую команду:

patch -R <myfile.patch

Резюме

Команда patch может использоваться для применения патчей по всей структуре каталогов.

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

Существует причина, по которой многие проекты развития используют GIT для контроля источника. GIT упрощает создание последовательной стратегии ветвления.

Команда patch подходит для применения различий в сценарии bash или что-то простое, но вы можете так же легко создать резервную копию файлов, которые хотите исправлять, и просто скопировать новые файлы в одно и то же место.

Для получения дополнительной информации используйте команду man:

патч человека