2009-10-30 9 views
13

В каком-то контексте: я только что обновил Ubuntu, который нарушил мою существующую установку gitosis (см. Здесь: bug #368895) и только что переустановил gitosis из пакетов. Теперь я хочу перенести всю свою конфигурацию и набор репозиториев из старой установки gitosis (которая все еще существует и может быть вытащена, но в противном случае нарушена).git-merge с репозиторием на локальной файловой системе

У меня теперь есть два каталога gitosis-admin локально, по одному для каждой установки gitosis. У одного есть полная история, другая пуста. Я хочу пережить эту историю. Вот что происходит, хотя:

[email protected]:~/gitosis-admin-new$ git merge ../gitosis-admin-old/ 
fatal: '../gitosis-admin-old/' does not point to a commit 

... где есть в Git репозиториев в ~/gitosis-admin-old/ и ~/gitosis-admin-new/

Я, вероятно, понадобится, чтобы сделать это для других хранилищ тоже, которые имеют гораздо больше и более важные истории, поэтому копирование и фиксация в качестве одного из них не является вариантом.

Что я делаю неправильно? Я пытался указать на .git/HEAD, который, как я понимаю, является фиксацией, но это не работает. Может кто-нибудь объяснить, как это сделать? Благодаря!

ответ

21

Вы должны использовать git pull с репозиторием, не git merge (что для филиалов):

git pull ../gitosis-admin-old/ 

Вам может понадобиться выбрать филиал в пульте дистанционного управления, чтобы объединить, например:

git pull ../gitosis-admin-old/ master 

Если вам нужно сделать это слияние только один раз, то использование git remote add, как в jamessan answer, является ненужной работой. С другой стороны, если вы пересматриваете пульт дистанционного управления (вытягивая более одного раза), это решение будет лучше, чем использование git pull <location> <branch>.

+0

Принято; получает один на ответ jamessan из-за «мастера»! Огромное спасибо :) –

3

Вам необходимо создать удаленный доступ для этого репозитория, а затем извлечь & слияние (или просто потянуть) оттуда.

git remote add admin-old file://$HOME/gitosis-admin-old 
git pull admin-old