2009-10-30 9 views
13

Für einige Kontext: Ich habe gerade aktualisiert Ubuntu, die meine bestehende Gitosis-Installation (siehe hier: bug #368895), und habe gerade Gitosis aus Paketen neu installiert. Ich möchte nun meine gesamte Konfiguration und den Satz von Repositories von der alten Gitosis-Installation migrieren (die immer noch existiert und aus der man weggezogen werden kann, aber ansonsten kaputt ist).git-merge mit Repository auf lokalem Dateisystem

Ich habe jetzt zwei gitosis-admin-Verzeichnisse lokal, eines für jede Gitosis-Installation. Einer hat eine vollständige Geschichte, der andere ist leer. Ich möchte diese Geschichte durchziehen. Hier ist, was passiert, wenn:

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

... wo es sind git Repositories in ~/gitosis-admin-old/ und ~/gitosis-admin-new/

Ich bin wahrscheinlich dies für die anderen Repositories gehen zu müssen, tun, die haben viel länger und wichtigere Geschichten, also Kopieren und Begehen als eine ist keine Option.

Was mache ich falsch? Ich habe versucht, auf .git/HEAD zu zeigen, was ich verstehe, ist ein Commit, aber das funktioniert nicht. Könnte jemand erklären, wie man das macht? Vielen Dank!

Antwort

21

Sie müssen git pull mit Repository verwenden, nicht git merge (die Zweige ist):

git pull ../gitosis-admin-old/ 

Möglicherweise müssen Sie eine Niederlassung in Fern auswählen fusionieren, zB:

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

Wenn Sie diese Zusammenführung nur einmal durchführen müssen, ist die Verwendung von git remote add wie in jamessan answer unnötig. Auf der anderen Seite, wenn Sie die Fernbedienung erneut besuchen würden (mehr als einmal ziehen), wäre diese Lösung besser als die Verwendung git pull <location> <branch>.

+0

Akzeptiert; bekommt eine Antwort auf Jamessans Antwort wegen des "Meisters"! Vielen Dank :) –

3

Sie müssen eine Remote für das Repository erstellen und dann holen & Zusammenführen (oder einfach ziehen) von dort.

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