278 votes

Plusieurs répertoires de travail avec Git?

Je ne suis pas sûr si c'est quelque chose pris en charge par Git, mais en théorie, il semble comme il devrait fonctionner pour moi.

Mon travail consiste souvent à mon édition de fichiers dans de multiples branches simultanément. En d'autres termes, j'ai souvent envie d'ouvrir un peu les fichiers dans une seule branche est alors que j'ai modifier le contenu d'un autre fichier dans une autre branche.

Mon type de solution c'est de faire deux extractions, mais c'est une honte je ne peux pas partager les branches et les refs entre eux. Ce que je voudrais, c'est d'avoir deux répertoires gérés par le même .git dossier.

Je suis conscient de local git clone solutions (la valeur par défaut, qui est de hardlink objets partagés, et l'option --shared, qui met en place un autre magasin d'objets d'origine avec le repo), mais ces solutions ne coupe vers le bas sur l'utilisation de l'espace disque, et en particulier dans le cas de --partagée, semble périlleuse.

Est-il possible d'en utiliser un .git dossier, et avoir deux répertoires de travail soutenu par? Ou Git est codé en dur pour avoir tout simplement un répertoire de travail vérifié à tout moment?

113voto

adl Points 7294

L' git de la distribution est livré avec une contribué script appelé git-new-workdir. Vous pouvez l'utiliser comme suit:

git-new-workdir project-dir new-workdir branch

projet-dir est le nom du répertoire contenant votre .gitréférentiel. Ce scripts crée un autre".git' annuaire de liens symboliques à l'original, sauf pour les fichiers qui ne peuvent pas être partagés (comme l'actuelle direction de), vous permettant de travailler dans deux branches différentes.

Il semble un peu fragile, mais c'est une option.

3voto

vhallac Points 6425

La seule solution que je vois est de cloner les deux répertoires et de les ajouter à des dépôts distants les uns des autres. Vous pouvez alors continue de tirer les choses du changement de l'un à l'autre sans vraiment pousser quelque chose sur le dépôt distant.

Je suis en supposant que vous voulez avoir deux répertoires de travail et pas de deux clones de la distance parce que vous ne voulez pas de pousser des branches de la télécommande. Sinon, deux clones de votre télécommande fonctionnerait très bien - vous avez juste besoin de faire quelques pousse et tire pour garder tous les trois dans la synchronisation.

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