Modifier l'emplacement du répertoire du dépôt git.
Avec Git / github pour Windows, si j'ai un référentiel avec ce répertoire: C:dir1dir2
, Que dois-je faire pour déplacer les fichiers repo vers C:dir1
? Je peux évidemment copier et coller physiquement les fichiers, mais que dois-je faire du côté Git?
J'ai ce repo sur GitHub et j'utilise Git Bash et GitHub pour Windows.
9 réponses
Copiez simplement tout le contenu du répertoire de travail (y compris le répertoire caché .git
). Cela déplacera l'ensemble du répertoire de travail vers le nouveau répertoire et n'affectera pas le référentiel distant sur GitHub.
Si vous utilisez GitHub pour Windows, vous pouvez déplacer le référentiel en utilisant la méthode ci-dessus. Toutefois, lorsque vous cliquez sur le référentiel dans l'application, il sera impossible de le trouver. Pour résoudre ce problème il suffit de cliquer sur le cercle bleu avec le !, sélectionnez le trouver, puis accédez au nouveau répertoire.
Je ne suis pas sûr de la question, alors voici deux réponses:
Si vous souhaitez déplacer votre référentiel :
Copiez simplement l'ensemble du référentiel (avec son répertoire .git
).
Il n'y a pas de chemin absolu dans la structure .git
et rien ne l'empêche d'être déplacé, donc vous n'avez rien à faire après le déplacement. Tous les liens vers github (voir dans .git/config
) fonctionneront comme avant.
Si vous souhaitez déplacer des fichiers dans le référentiel:
Déplacez simplement les fichiers. Ajoutez ensuite les modifications listées dans git status
. Le prochain commit
fera le nécessaire. Vous serez heureux d'apprendre qu'aucun fichier ne sera dupliqué : déplacement d'un fichier dans git est presque gratuit.
Si vous utilisez GitHub for Windows
, procédez comme suit:
- fermez
GitHub for Windows
et toutes les autres applications avec des fichiers ouverts sur votre chemin de répertoire actuel. - déplacez le répertoire entier comme mentionné ci-dessus vers le nouvel emplacement du répertoire.
- ouvrez
GitHub for Windows
et cliquez sur le bleu (!) icône" référentiel introuvable". Ensuite, une boîte de dialogue s'ouvrira et vous verrez un bouton "le trouver" où vous pouvez déplacer le nouveau chemin du référentiel.
Bien que la question implique Git pour Windows, cela semble être le meilleur résultat même lors de la recherche D'outils Visual Studio pour 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 repos (ou même la structure de répertoire entière pour tous les repos) localement très facile.
1) Fermez Visual Studio. 2) Déplacez le ou les dossiers Repo vers un nouvel emplacement. 3) Ouvrez Visual Studio. Ouvrez L'Explorateur De L'Équipe. Commutateur pour "connecter" vue (plug icône en haut). 3a) si les Repos affichent toujours l'ancien chemin, cliquez sur Actualiser pour forcer une mise à jour. 4) les dépôts 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 cloner) et sélectionnez le dossier repo à ajouter.
À l'étape 5, vous fournissez simplement un chemin de recherche et la recherche inclut automatiquement tous les sous-dossiers. Si vous avez plusieurs repos organisés sous une seule racine (repos indépendants ayant juste le même dossier parent) puis en sélectionnant le parent inclura tous les repos trouvés ci-dessous.
Exemple: E:\Repos\RepoA E:\Repos\RepoB E:\Repos\RepoC
Dans Visual Studio Team Explorer [ajouter] > "E:\Repos\" > [Add] retournera les trois dans les dépôts locaux.
J'utilise le plugin Visual Studio git, et j'ai des sites Web fonctionnant sur IIS que je voulais déplacer. Un moyen simple qui a fonctionné pour moi:
Fermez Visual Studio.
Déplacer le code (y compris le dossier git, etc)
Cliquez sur le fichier de solution à partir du nouvel emplacement
Actualise le mappage vers le nouvel emplacement, en utilisant les fichiers git locaux existants qui ont été déplacés. Une fois que j'étais de retour dans Visual Studio, ma fenêtre Team Explorer a montré le repos dans le nouvel emplacement.
Cela n'a pas fonctionné pour moi. J'ai déplacé un repo de (par exemple) c:\project1 \ à c:\repo\project1\ et Git pour windows ne montre aucun changement.
Git status affiche une erreur car l'un des sous-modules "n'est pas un dépôt git" et affiche l'ancien chemin. par exemple (noms modifiés pour protéger IP)
Fatal: pas un dépôt git: C:/project1/.git/modules/sous-projet/subproject2 fatal:' git status --porcelain ' a échoué dans le sous-projet sous-module
J'ai dû modifier manuellement .fichiers git dans les sous-modules pointent vers le chemin relatif correct vers le repo du sous-module (dans le repo principal .répertoire git / modules)
Rapport du futur: avril 2018.
Je voulais normaliser mes repos locaux sur mon Mac et mes fenêtres, qui s'étaient retrouvés dans différents dossiers locaux.
Le client Windows 10 m'a fait passer par la routine" impossible de trouver " > "localiser", fastidieuse mais pas terrible. Aussi besoin de mettre à jour le "chemin de Clone" local dans les Options pour une utilisation future.
Quand j'ai consolidé les dossiers mac, le client Github vient de les retrouver-je n'avais rien à faire!
Pour définir le chemin d'accès local par défaut à vos dépôts pour chaque fois que vous clonez l'un d'entre eux, vous ne devez cloner un dépôt qu'une seule fois et définir Localpath:/your-path, puis GitHub détecte automatiquement ce chemin par défaut.
J'utilise Github Desktop pour Windows et je voulais déplacer l'emplacement d'un référentiel. Pas de problème si vous déplacez votre répertoire et choisir le nouvel emplacement dans le logiciel. Mais si vous définissez un mauvais répertoire, vous obtenez une erreur fatale et aucune seconde chance de faire un déplacement vers le bon. Donc pour réparer ça. Vous devez copier les fichiers de projet dans le mauvais répertoire, faire sa reconize par GitHub Desktop, après cela, vous pouvez déplacer à nouveau votre projet dans un autre dossier et faire un déménagement dans le logiciel. Pas besoin de fermez Github Desktop pour cela, il vérifiera les dossiers en direct.
En espérant que cela aidera quelqu'un.