Как решить конфликт при перемещении одного репозитория git в другой - PullRequest
0 голосов
/ 06 октября 2019

У меня есть два репозитория repo-A и repo-B. Я хочу переместить репо-А в репо-Б в качестве подпапки. Мой вопрос отличается от возможного дублированного ответа! Пожалуйста, не отмечайте это, не задумываясь. Я сделал следующее в repo-B, выполнив this :

git remote add repo-A url-to-repo-A
git fetch repo-A --tags
git merge --allow-unrelated-histories repo-A/master

Однако я получил следующую ошибку:

Auto-merging package.json
CONFLICT (add/add): Merge conflict in package.json
Auto-merging package-lock.json
CONFLICT (add/add): Merge conflict in package-lock.json
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Auto-merging .gitignore
CONFLICT (add/add): Merge conflict in .gitignore
Automatic merge failed; fix conflicts and then commit the result.

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 06 октября 2019

Вопрос: должны ли файлы в двух репозиториях A и B быть одинаковыми файлами? Или вы хотите, чтобы все файлы в A были добавлены как подкаталог и сохранены как отдельные файлы?

решение 1: Да, это те же файлы, и эти файлы должны быть объединены. В этом случае вам необходимо отредактировать файлы для разрешения любых конфликтов. Маркеры конфликтов <<< и >>> будут добавлены в файлы. Вам необходимо отредактировать файлы так, чтобы они содержали содержимое таким, каким вы хотите, чтобы они были после слияния. Затем выполните:

git add <file>
# after all file conflicts have been resolved and added
git commit

Решение 2. Нет, все файлы из репо A должны находиться в отдельном подкаталоге и храниться отдельно от файлов, изначально находящихся в репо B. В этом случае вы хотите импортировать репо Aв репо B как поддерево. Используйте команду git subtree:

git subtree add -P <prefix> <repository> <ref>

, например:

git subtree add -P repo-A-dir url-to-repo-A master
...