Как мне объединить два отдельных репозитория git одного и того же веб-сайта без потери данных фиксации?

У меня есть два отдельных репозитория git для одной и той же версии одного веб-сайта.

domain.com-1.0
domain.com-2.0

Версия 2.0 была полностью переделана с нуля. Между двумя репозиториями нет моста. Теперь я хотел бы объединить два в один репозиторий, но сохранить разделение.

Я уже пометил domain.com-1.0 в его репозитории и теперь хочу очистить рабочее дерево и переместить домен-2.0 и всю его историю коммитов в репозиторий 1.0. Возможно ли это или есть лучший способ добиться этого?

Примечание: domain.com-1.0 больше не будет разрабатываться и «удаляется».


person PHLAK    schedule 22.04.2010    source источник
comment
stackoverflow.com/questions/1141338/ может здесь помочь.   -  person VonC    schedule 23.04.2010
comment
Хммм ... что-то вроде этого МОЖЕТ сработать. Я рассмотрю это позже.   -  person PHLAK    schedule 23.04.2010


Ответы (1)


Я бы решил это следующим образом:

  1. git remote add foo-2.0 в репозиторий foo-1.0

  2. git fetch материал от foo-2.0 до репозитория foo-1.0

  3. Запустите gitk --all, чтобы увидеть ветви и сделать правильное (пере) именование веток.

Это должно работать для простых одноразовых случаев. Если вам нужно делать это дважды в день, вы должны придумать способ автоматизации шага 3.

person ndim    schedule 22.04.2010
comment
Зачем мне нужно объединять какие-либо ветки? Эти два репозитория полностью разделены, и я оставлю 2.0 в теге только для справки. - person PHLAK; 23.04.2010
comment
Слить ветки? Вы не объединяете никакие ветки. Однако есть ветка master foo-1.0, а затем будет ветка remote2 / master foo-2.0. Вам понадобится локальная ветка для remote2 / master ... поэтому вам нужно будет дать этому новому имя или вызвать старый мастер как-нибудь еще и использовать master в качестве имени для мастера foo-2.0 ... как вы хотите чтобы назвать это. - person ndim; 23.04.2010