2016-03-24 2 views
-1

Ma branche principale est en cours de synchronisation avec un dossier local W:\folder2.Comment changer l'emplacement de la tête dans un autre dossier?

Je souhaite que ma branche principale se synchronise avec le dossier local W:\folder1 à la place.

Comment est-ce que je peux faire ceci? Je jouais, tout en apprenant, dans GitShell avec les commandes git worktree add <second path> et git checkout master et git checkout -b <new branch>.

Avant, ma branche principale était synchronisée avec le dossier local W:\folder1. Il est maintenant synchronisé avec le dossier local W:\folder2. Je pense que j'ai accidentellement changé quelque chose.

Comment puis-je le réactiver?

+2

Branches dans git ne sont pas des dossiers !!! vous confondez des branches avec des dossiers – CodeWizard

+0

Merci ... Je me souviendrai de cette évolution ... entendez-vous mon inquiétude? – codr

+0

@CodeWizard, [workstrees vous permet de vérifier les branches supplémentaires à des chemins séparés] (https://git-scm.com/docs/git-worktree) – steveax

Répondre

2

git worktree

Git worktree a été introduit en 2007 dans le dossier contrib dans git et a été appelé new-workdir.

Dans git V2.5 il a été nommé worktree et il vous permet d'avoir plusieurs instances du même référentiel dans différents dossiers.

par exemple:

git worktree add <second path> 

va créer un autre dossier sur votre ordinateur qui vous permettent de travailler sur une autre branche simultanément.


Si vous souhaitez supprimer le worktree utiliser le pruneau SOUS_COMMANDE

prune
Pruneau travail d'information d'arbres dans $ GIT_DIR/worktrees.

Une autre option pour le supprimer est de supprimer le dossier .git/worktrees

+0

Comment supprimer tous les espaces de travail sauf un dossier local W: \ dossier1? – codr

+0

Utiliser le drapeau prune – CodeWizard

+0

J'aimerais simplement que ma branche principale soit synchronisée avec un dossier local – codr