Используйте git для расширения изменений - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть набор файлов (file1 .. fileN), все они имеют одинаковую структуру, но эта структура может отличаться каждый раз (json, xml, текст ... не определен, но это всегда один и тот же тип информации) Мне нужно внести изменения во все из них, поэтому, если я добавлю поле в xml, оно должно быть во всех них. То же самое, когда я добавляю новую строку в виде простого текста. Я думал использовать git для этой цели, я мог бы внести изменения в один из файлов, а затем объединить этот файл с другими.

Файл1:

{name: "Harry", 
 lastname: "Potter"}

изменить:

{name: "Harry", 
 lastname: "Potter",
 age: 12}

file2:

{name: "Hermion", 
 lastname: "Granger"}

file2 после обработки bing:

{name: "Hermion", 
 lastname: "Granger",
 age: 12}

Я знаю, что для этого можно использовать синтаксический анализатор json, но Поскольку информация может быть в виде простого текста или другой информации другого типа, в этом случае она недопустима, мне нужен способ внести изменения, когда структура одинакова и не основана на кодировке информации.

Является ли это возможный? Как я могу это сделать?

1 Ответ

0 голосов
/ 24 февраля 2020

Я нашел способ:

Вы можете получить git diff и применить его позже:

{ ссылка }

Кроме того, вы можете получить идентификаторы предыдущих git коммитов:

{ ссылка }

Когда файлы разные или в разных ветках вы можете использовать:

Git: как различать два разных файла в разных ветках?

Есть Хорошее объяснение различий и патча здесь:

https://www.pair.com/support/kb/paircloud-diff-and-patch/

Все вместе, вы получаете идентификатор предыдущих 2 коммитов, затем вы сделайте разницу между ними и примените ее позже.

РЕДАКТИРОВАТЬ:

вы можете получить diff, используя:

git diff file1 file1Modified> changes.patch

затем вы применяете его, используя:

патч file2 changes.patch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...