Патч-операция в Git

Опубликовано: 30 Ноября, 2021

Git patch - это функция в git, которая позволяет вам создать файл исправления из функции в одной ветке и применить его в другой ветке.
Патч-файл имеет все различия между двумя ветвями. Используя файл патча, мы можем применить изменения в другой ветке.
Это можно представить как - Предположим, вы работаете над проектом. Основной проект находится в ветке «master». Вы работаете над функцией в отдельной ветке с именем «feature1». Теперь вы вносите все изменения в ветку «features1», а затем создаете нечто, известное как «файл патча». Теперь этот файл патча можно использовать в основной ветке для добавления той конкретной функции, над которой вы работали.

Создание и работа патчей

Посмотрим на следующий пример:

Шаг 1: есть репозиторий с именем «Pat». Пользователь создал в мастере файл «text.txt».


Шаг 2: Затем он добавляется в основную ветку, и изменение фиксируется с сообщением «начальное».


Шаг 3. Проверка журналов


Шаг 4: Теперь давайте создадим новую ветку с именем feature и произведем проверку в нашу ветку функций.


Шаг 5: Измените «text.txt», добавив несколько слов.


Шаг 6: Затем мы сохраним эти изменения, добавим и зафиксируем изменения в нашей функциональной ветке с сообщением «это находится в функциональной ветке».


Шаг 7. Проверка журналов


Шаг 8: Теперь переходит к основной части - Создание файла патча. Для создания файла патча напишем

git format-patch {branch in which we will apply our patch file} -o {folder in which we will save our patch file}

В настоящее время мы находимся в ветке функций. Нам нужно сравнить наши изменения с веткой, в которой мы хотим применить наши изменения (здесь главная ветка). Затем мы используем «-o» и указываем папку, в которой будет создан файл патча (это необязательно).

Мы также можем создать файл патча, используя хеш-ключ конкретного коммита. Например:-

 git format-patch -1 012fe999affd9b92f6c96eb72a7260273411ea81 -o патчи

Хэш-ключ присутствует в журнале git, написанном темно-желтым цветом.

Шаг 9: Теперь мы вернемся к нашей основной ветке и проверим наш «text.txt».

Note: Here, “cat text.txt” is used to view the file. This may not run in Windows. Please use Notepad or any code editor to view this.


Шаг 10: Теперь, наконец, мы применяем наш патч-файл в главной ветке.

 git am {путь к файлу патча}



Шаг 11. Проверка журналов