добавить локальный репозиторий в качестве подкаталога удаленного репозитория - PullRequest
9 голосов
/ 14 декабря 2011

предположим, у меня есть удаленный репозиторий (git@server:project.git) со следующей структурой:

./client
./server

А затем я создал локальный репозиторий в каталоге ~/myproject/test, используя git init; git add . ; git commit -m "init check in ".Я хочу перенести этот локальный репозиторий в удаленный репозиторий в виде подкаталога test, параллельного client и server, то есть

./client
./server
./test

Я желаю всей истории регистрации влокальный может храниться в удаленном хранилище.Есть ли способ добиться этого?Спасибо!

Ответы [ 2 ]

6 голосов
/ 14 декабря 2011

Обычным решением является использование стратегии слияния поддерева .

Подробнее см. " Стратегия слияния Git поддерева, возможно без истории слияния? ".


Еще одно решение - объявить локальное репо подмодулем вашего удаленного репо.

Для этого вам понадобится:

  • чтобы выдать локальное репо в качестве независимого репо на удаленный сервер
  • клонировать git@server:project.git локально
  • добавить git@server:test.git как подмодуль

Но если ваши тестовые файлы тесно связаны с вашим проектом, это, вероятно, не лучшее решение.

1 голос
/ 11 сентября 2013

Предыдущие ответы у меня не работали (нужно больше подробностей: Git новичок здесь ;-), тогда как https://git -scm.com / book / en / v2 / Git-Tools-Submodules сделал это идеально с пошаговым подходом. Также объясняются оба метода слияния / удаления истории.

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