Применение содержимого git diff из txt файла

Друг-программист прислал мне txt-файл, содержащий информацию о различиях. Вот так, с начала содержимого txt-файла:

diff --git a/myfolder/MyClass.java b/myfolder/MyClass.java
index 1234aa0d0554..5678bcasas 112233
--- a/myfolder/MyClass.java
+++ b/myfodler/MyClass.java
@@ -58,7 +58,7 @@ public class MyClass{
        [somecode here]
 - [some row] 
 + [some row]       

и Т. Д.

Как я могу применить эти изменения к git с помощью командной строки или дерева исходных текстов? Я новичок в git и знаю, что вы можете применять файлы .patch. Могу ли я преобразовать этот контент в файл патча или как это лучше всего сделать? Это просто домашний проект на Java.


person Steve Waters    schedule 26.06.2020    source источник
comment
Отвечает ли это на ваш вопрос? Как применить патч, созданный с помощью git format-patch?   -  person Joe    schedule 26.06.2020


Ответы (1)


Чтобы применить патч, просто используйте git apply

git apply /path/to/some-changes.patch

Если у вас есть только разница, вы можете добавить недостающую информацию

From: John Doe <email>
Date: Wed, 6 May 2020 22:53:29 +0200
Subject: the commit title

commit detail

diff --git a/myfolder/MyClass.java b/myfolder/MyClass.java
index 1234aa0d0554..5678bcasas 112233
[...]
person Ôrel    schedule 26.06.2020
comment
как сделать патч-файл из описанного содержимого txt-файла? - person Steve Waters; 26.06.2020
comment
@SteveWaters Я добавил пример того, как добавить информацию, вы можете использовать git format-patch, чтобы увидеть некоторые примеры патчей - person Ôrel; 26.06.2020
comment
@SteveWaters: git apply просматривает содержимое файла, который вы ему передаете; он может называться some-changes.patch, some-changes.txt или даже some-changes.jpg, если его содержимое выглядит как diff (например: текстовый файл, в котором сначала упоминаются имена файлов, затем диапазоны строк, затем строки с префиксом + или - ...) , git apply some-changes.jpg будет работать. - person LeGEC; 26.06.2020
comment
в конце концов я смог сделать это с git apply --ignore-space-change --ignore-whitespace mychanges.txt - person Steve Waters; 29.06.2020