265 votes

Modifier l'emplacement du répertoire du dépôt Git.

Avec Git/Github pour Windows, si j'ai un dépôt avec ce répertoire : C:\dir1\dir2 Que dois-je faire pour déplacer les fichiers du dépôt vers le site de l'entreprise ? C:\dir1 ? Je peux évidemment copier et coller physiquement les fichiers, mais que dois-je faire du côté de Git ?

J'ai ce dépôt sur GitHub et j'utilise Git Bash et GitHub pour Windows.

317voto

ctor Points 1660

Il suffit de copier l'intégralité du contenu du répertoire de travail (y compris les fichiers cachés .git ). Cela déplacera l'ensemble du répertoire de travail vers le nouveau répertoire et n'affectera pas le dépôt distant sur GitHub.

Si vous utilisez GitHub pour Windows, vous pouvez déplacer le dépôt en utilisant la méthode ci-dessus. Cependant, lorsque vous cliquez sur le référentiel dans l'application, celle-ci ne pourra pas le trouver. Pour résoudre ce problème, il suffit de cliquer sur le cercle bleu avec le !, de sélectionner Find It et de naviguer vers le nouveau répertoire.

56voto

dystroy Points 145126

Je ne suis pas sûr de la question, alors voici deux réponses :

Si vous voulez déplacer votre référentiel :

Il suffit de copier l'ensemble du référentiel (avec ses .git ).

Il n'y a pas de chemin absolu dans le .git structure et rien ne l'empêche d'être déplacée, vous n'avez donc rien à faire après le déménagement. Tous les liens vers github (voir en .git/config ) fonctionneront comme avant.

Si vous voulez déplacer des fichiers à l'intérieur du référentiel :

Il suffit de déplacer les fichiers. Puis ajoutez les changements listés dans git status . Le prochain commit fera le nécessaire. Vous serez heureux d'apprendre qu'aucun fichier ne sera dupliqué : déplacer un fichier dans git ne coûte presque rien.

43voto

mikeng Points 906

Si vous utilisez GitHub Desktop alors il suffit de suivre les étapes suivantes :

  1. Fermer GitHub Desktop et toutes les autres applications avec des fichiers ouverts dans le chemin de votre répertoire actuel.
  2. Déplacez l'ensemble du répertoire comme mentionné ci-dessus vers le nouvel emplacement du répertoire.
  3. Ouvrir GitHub Desktop et cliquez sur l'icône bleue ( !) "repository not found". Une boîte de dialogue s'ouvrira alors et vous verrez un bouton "Locate..." qui ouvrira une fenêtre popup vous permettant de diriger son chemin vers un nouvel emplacement.

12voto

Phil Rosenberg Points 995

Bien que les réponses précédentes semblent toutes dire que vous pouvez simplement déplacer le répertoire et qu'il n'y a pas de chemins absolus dans la structure .git. J'ai constaté que c'était faux lorsque j'ai utilisé git depuis Cygwin.

Lorsque j'ai déplacé mon repo git (en fait, je l'ai restauré à partir d'une sauvegarde, mais sur un lecteur différent car la structure de mon lecteur a changé sur mon nouveau système). J'ai obtenu un message d'erreur comme

fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory

J'ai utilisé grep pour trouver dans mon fichier .git/config, dans la section [core], une variable worktree qui contient le chemin absolu de mon dépôt git. En modifiant cette variable, j'ai résolu le problème.

10voto

Gerald Davis Points 1120

Bien que la question concerne Git pour Windows, il semble que ce soit le premier résultat, même en recherchant Visual Studio Tools For Git (extension dans VS 2012, support natif dans VS 2013).

En utilisant les solutions ci-dessus comme guide, j'ai déterminé que Visual Studio Git Tools rend le déplacement des dépôts (ou même de la structure de répertoire entière pour tous les dépôts) localement très facile.

1) Fermez Visual Studio. 2) Déplacez le(s) dossier(s) Repo vers un nouvel emplacement. 3) Ouvrir Visual Studio. Ouvrez Team Explorer. Passez à la vue "Connect" (icône de la fiche en haut). 3a) Si les Repos affichent toujours l'ancien chemin, cliquez sur Refresh pour forcer une mise à jour. 4) Les Repos qui ont été déplacés localement ne devraient plus apparaître dans " Dépôts Git locaux ". 5) Cliquez sur Ajouter (pas nouveau ou clone) et sélectionnez le dossier repo à ajouter.

À l'étape 5, vous ne faites que fournir un chemin de recherche et la recherche inclut automatiquement tous les sous-dossiers. Si vous avez plusieurs dépôts organisés sous une racine unique (des dépôts indépendants ayant juste le même dossier parent), alors sélectionner le parent inclura tous les dépôts trouvés en dessous.

Ejemplo: E:\Repos\RepoA E:\Repos\RepoB E:\Repos\RepoC

Dans Visual Studio Team Explorer, cliquez sur [Ajouter] > " ". E:\Repos\ " > [Ajouter] renverra les trois dans les dépôts locaux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X