Avec Git / Github pour Windows, si j'ai un référentiel avec ce répertoire:, C:\dir1\dir2
que dois-je faire pour déplacer les fichiers de dépôt C:\dir1
? Je peux évidemment copier et coller physiquement les fichiers, mais que dois-je faire du côté Git?
J'ai ce dépôt sur GitHub et j'utilise Git Bash et GitHub pour Windows.
git
github
github-for-windows
Mikael Engver
la source
la source
Réponses:
Copiez simplement le contenu complet du répertoire de travail (y compris le
.git
répertoire caché ). Cela déplacera l'intégralité 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. Cependant, lorsque vous cliquez sur le référentiel dans l'application, il ne pourra pas le trouver. Pour résoudre ce problème, cliquez simplement sur le cercle bleu avec le!, Sélectionnez Rechercher, puis accédez au nouveau répertoire.
la source
Je ne suis pas sûr de la question, voici donc deux réponses:
Si vous souhaitez déplacer votre référentiel:
Copiez simplement le référentiel entier (avec son
.git
répertoire).Il n'y a pas de chemin absolu dans la
.git
structure 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 à l'intérieur du référentiel:
Déplacez simplement les fichiers. Ajoutez ensuite les modifications répertoriées dans
git status
. Le prochaincommit
fera le nécessaire. Vous serez heureux d'apprendre qu'aucun fichier ne sera dupliqué: déplacer un fichier dans git est presque gratuit.la source
.git
répertoire.Si vous utilisez
GitHub Desktop
, procédez simplement comme suit:GitHub Desktop
et toutes les autres applications avec des fichiers ouverts sur votre chemin de répertoire actuel.GitHub Desktop
et cliquez sur l'icône bleue (!) "Référentiel introuvable". Une boîte de dialogue s'ouvrira et vous verrez un bouton "Localiser ..." qui ouvrira une fenêtre contextuelle vous permettant de diriger son chemin vers un nouvel emplacement.la source
Bien que la question concerne Git pour Windows, cela semble être le meilleur résultat même lors de la recherche de Visual Studio Tools pour Git (extension dans VS 2012, prise en charge native 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 référentiels (ou même la structure de répertoires entière pour tous les référentiels) 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 Team Explorer. Passez en vue "Connect" (icône de prise 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 être affichés dans " Local Git Repositories ". 5) Cliquez sur Ajouter (pas nouveau ou clone) et sélectionnez le dossier de dépôt à ajouter.
À l'étape 5, vous fournissez simplement un chemin de recherche et la recherche inclut automatiquement tous les sous-dossiers. Si vous avez plusieurs référentiels organisés sous une même racine (référentiels indépendants ayant simplement le même dossier parent), la sélection du parent inclura tous les référentiels trouvés en dessous.
Exemple: E: \ Repos \ RepoA E: \ Repos \ RepoB E: \ Repos \ RepoC
Dans Visual Studio Team Explorer [Ajouter]> "E: \ Repos \"> [Ajouter] renverra les trois dans les référentiels locaux.
la source
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 chemin absolu dans la structure .git. J'ai trouvé que c'était faux lors de l'utilisation de git de Cygwin.
Lorsque j'ai déplacé mon dépôt git (en fait, je l'ai restauré à partir d'une sauvegarde, mais sur un autre lecteur car la structure de mon lecteur a changé sur mon nouveau système). J'ai un message d'erreur comme
J'ai utilisé grep pour trouver que dans mon fichier .git / config dans la section [core] se trouve une variable worktree qui contient le chemin absolu de mon dépôt git. Changer cela a résolu le problème pour moi.
la source
J'utilise le plugin Visual Studio git, et j'ai quelques sites Web fonctionnant sur IIS que je voulais déplacer. Une manière simple qui a fonctionné pour moi:
Fermez Visual Studio.
Déplacez le code (y compris le dossier git, etc.)
Cliquez sur le fichier de solution depuis le nouvel emplacement
Cela actualise le mappage vers le nouvel emplacement, en utilisant les fichiers git locaux existants qui ont été déplacés. Une fois de retour dans Visual Studio, ma fenêtre Team Explorer a montré les dépôts dans le nouvel emplacement.
la source
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 choisissez 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 une relocalisation vers le bon. Donc pour réparer ça. Vous devez copier les fichiers du projet dans le mauvais répertoire, effectuer sa recomposition par Github Desktop, après cela, vous pouvez déplacer à nouveau votre projet dans un autre dossier et effectuer une relocalisation dans le logiciel. Pas besoin de fermer Github Desktop pour cela, il vérifiera les dossiers en direct.
En espérant que cela aidera quelqu'un.
la source
Cela n'a pas fonctionné pour moi. J'ai déplacé un dépôt de (par exemple) c: \ project1 \ vers c: \ repo \ project1 \ et Git pour Windows n'affiche aucun changement.
git status affiche une erreur car l'un des sous-modules "n'est pas un référentiel git" et montre l'ancien chemin. par exemple (les noms ont été modifiés pour protéger IP)
fatal: Pas un dépôt git: C: /project1/.git/modules/subproject/subproject2 fatal: 'git status --porcelain' a échoué dans le sous-projet de sous-module
J'ai dû modifier manuellement les fichiers .git dans les sous-modules pour pointer vers le chemin relatif correct vers le référentiel du sous-module (dans le répertoire .git / modules du référentiel principal)
la source
Rapport du futur: avril 2018.
Je voulais normaliser mes dépôts locaux sur mon Mac et mon Windows, qui s'étaient retrouvés dans différents dossiers locaux.
Le client Windows 10 m'a fait passer par la routine "Can't Find"> "Locate", fastidieuse mais pas terrible. Vous devez également mettre à jour le «chemin de clonage» local dans les options pour une utilisation future.
Lorsque j'ai consolidé les dossiers mac, le client Github vient de les retrouver - je n'ai rien dû faire!
la source
Pour définir le chemin local par défaut de vos référentiels à chaque fois que vous en clonez un, vous ne devez cloner un référentiel qu'une seule fois et définir Localpath: / votre-chemin, puis github détectera automatiquement ce chemin comme votre chemin par défaut.
la source
Une approche plus basée sur Git consisterait à apporter les modifications à votre copie locale en utilisant
cd
ou copier et coller, puis à pousser ces modifications du référentiel local vers le référentiel distant.Si vous essayez de vérifier l'état de votre référentiel local, il peut afficher des «modifications non suivies» qui sont en fait les fichiers déplacés. Pour pousser ces modifications avec force, vous devez mettre en scène ces fichiers / répertoires en utilisant
J'espère que ça aide.
la source