У меня проблемы с объединением поддерева ветки разработки обратно в ветвь интеграции.
У меня две ветки, одна использовалась для разработки, а другая - для интеграции. В ветке разработки была проведена обширная разработка, и я хочу объединить ее часть обратно. Конкретная часть, которую я хочу объединить, содержится в одном поддереве ветки разработки.
Моя структура каталогов выглядит следующим образом:
[Branch A] [Branch B]
| |
+--Dir1 +--Dir1
+--Dir2 +--Dir2
| | |
+--DirA | +--DirA
| | |
+--File1 | +--File1
+--File2 | +--File2
| +--File3
| +--File4
+--Dir3
Я хочу объединить Branch B / Dir2 / DirA с Branch A / Dir2 / DirA. Я хочу, чтобы File1 и File2 были объединены и File3 и File4 были созданы в Branch A. Я не хочу получать Dir3 или какие-либо изменения в Dir1.
Я пробовал шаги, описанные kernel.org для объединение поддеревьев , но они терпят неудачу, когда я делаю дерево чтения git с помощью:
error: Entry 'Dir1/DirA/File1' overlaps with 'Dir1/DirA/File1'. Cannot bind.
Я пробовал использовать сценарий поддерева , который размещен на github, но у меня нет удачи с этим. Когда я это сделаю:
git checkout Branch_A
git subtree merge -P Dir2/DirA Branch_B
Я вижу доказательства того, что Dir3 был объединен, и объединение не удалось из-за конфликтов.
Я мог бы выбрать файлы для объединения, но это кажется излишне запутанным для того, что должно быть обычным и прямым проблема.