Мне нужно синхронизировать файлы подпапок с файлами корневых папок.Проблема в том, что одни и те же файлы могут иметь изменения в обе стороны.Мне нужно сохранить изменения в подпапке и добавить изменения из корневой.Я сделал очень небольшие изменения в корневой папке, чтобы важный_file.txt изменил текст // changes made in b1
на // changes made in b1 + mod1
(только + mod1
).Я хочу создать патч, который позволит мне добавить это изменение в файл с таким же именем в подпапке и сохранить другие изменения в нем.
Задача 1
Для этого я сделал пример репо здесь .Я извлекаю ветку B2 и выполнил команду:
git diff --no-index -- src/subfolder src/ > a.diff
После этого я применяю патч с командой:
git apply a.diff
Он не применяет патч и возвращает ошибку
a.diff:71: trailing whitespace.
return Ok(books);
error: src/subfolder/important_file.txt: already exists in working directory
Задача 2
Я изменил направление при создании различий с src/subfolder src/
на src/ src/subfolder
.Теперь, когда я применяю патч, он удаляет файл из корневой папки.
Существуют ли другие варианты слияния одной папки с другой по способу слияния ветвей?