2009-10-30 11 views
13

Pour un peu de contexte: je viens de mettre à jour Ubuntu qui a brisé mon installation de gitose existante (voir ici: bug #368895), et vient de réinstaller la gitose des paquets. Je veux maintenant migrer toute ma config et ensemble de dépôts de l'ancienne installation de gitose (qui existe toujours et peut être retiré mais est autrement cassé). J'ai maintenant deux répertoires gitosis-admin localement, un pour chaque installation de gitose. L'un a une histoire complète, l'autre est vide. Je veux tirer à travers cette histoire. Voilà ce qui se passe bien:git-merge avec référentiel sur le système de fichiers local

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

... où il y a sont des dépôts git dans ~/gitosis-admin-old/ et ~/gitosis-admin-new/

Je vais probablement avoir besoin de faire cela pour les autres dépôts aussi, qui ont beaucoup plus long et histoires plus importantes, donc copier et commettre comme un n'est pas une option.

Qu'est-ce que je fais mal? J'ai essayé de pointer vers .git/HEAD qui, si je comprends bien, est un commit, mais cela ne fonctionne pas. Quelqu'un pourrait-il expliquer comment faire cela? Merci!

Répondre

21

Vous devez utiliser git pull avec dépôt, et non git merge (qui est pour les branches):

git pull ../gitosis-admin-old/ 

Vous devrez peut-être choisir une branche à distance pour fusionner, par exemple:

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

Si vous devez effectuer cette opération une seule fois, l'utilisation de git remote add comme dans jamessan answer est inutile. D'un autre côté, si vous revivez la télécommande (en tirant plus d'une fois), cette solution serait mieux que d'utiliser git pull <location> <branch>.

+0

Accepté; obtient un sur la réponse de Jamessan à cause du «maître»! Merci beaucoup :) –

3

Vous devez créer une télécommande pour ce référentiel, puis extraire & fusionner (ou simplement tirer) à partir de là.

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