2010-07-22 4 views

Répondre

11

Copiez simplement le répertoire parent sur la nouvelle machine et demandez aux exemplaires extraits de mettre à jour leur télécommande avec git remote set-url <remotename> <url>. Une fois que vous avez vérifié que les utilisateurs peuvent pousser/tirer correctement avec la nouvelle télécommande, vous pouvez supprimer la copie de l'ancienne machine.

+0

afin que la commande va remplacer la télécommande existante? ou est-ce que je supprime l'ancienne télécommande en premier? Je suppose que cela prend en contexte où vous êtes et met à jour la télécommande pour le référentiel en contexte? – Blankman

+1

Bien sûr, 's/move/copy /' juste au cas où quelque chose ne va pas. (ou quelqu'un essaie de tirer pendant qu'il est à moitié déplacé) – Cascabel

+1

qu'est-ce que s/move/copy? Pardon! Je reçois l'idée, ne pas à un copier-coller qui supprime l'original ... – Blankman

2

Cela ne fonctionne-t-il pas?

  • clone localement
  • créer un nouveau repo nu vide dans l'autre serveur
  • puis appuyez sur le clone.
+0

donc juste installer une nouvelle télécommande? – Blankman

+0

c'est probablement le moyen le plus facile (conceptuellement) de le faire. –

+0

oui, et vous pouvez ensuite supprimer l'ancien. Il vous suffit de mettre à jour les références (en utilisant git remote). Voilà la puissance du VCS décentralisé. – Scharron

1

Les référentiels Git sont indépendants de l'emplacement de leur système de fichiers hôte, et Git lui-même ne dépend pas d'un processus serveur persistant - du côté serveur, tout ce que vous avez à faire est simplement de copier le répertoire foo.git nouveau serveur.

Et toutes les télécommandes sont égales en Git. Donc, vous pouvez simplement ajouter la nouvelle URL comme une autre télécommande si vous le souhaitez. Ou vous pouvez simplement ouvrir le fichier .git/config et modifier l'URL de votre télécommande existante pour le modifier. (Si cela ne fonctionne pas, vous pouvez le changer de la même manière.)

Git est très non magique.

Questions connexes