web-dev-qa-db-fra.com

Est-il possible de visualiser plusieurs branches git en même temps pour le même projet?

J'ai 2 branches, qui ne sont pas encore prêtes à être fusionnées, mais qui ont une logique complémentaire que j'aimerais revoir (avant de fusionner)

Puis-je consulter plusieurs branches git du même projet? C'est possible?

54
JAM

Vous pouvez simplement copier le référentiel vers un nouvel emplacement (soit en copiant littéralement le répertoire, soit en utilisant git clone --shared ) et consultez une succursale par emplacement.

Vous pouvez aussi utiliser git-worktree pour créer plusieurs répertoires de travail à partir d'une seule instance d'un référentiel.

Sinon, le principal moyen de comparer les fichiers entre les branches avant de les fusionner est git diff.

56
meagar

Avec Git 2.5+ (Q2 2015), un dépôt Git prend en charge plusieurs arborescences de travail avec git worktree add <path> (et cela remplacera contrib/workdir/git-new-workdir)

Ces arbres de travail "liés" sont en fait enregistrés dans le référentiel principal nouveau $GIT_DIR/worktrees dossier (pour que cela fonctionne sur n'importe quel système d'exploitation, y compris Windows).

Voir plus sur " Plusieurs répertoires de travail avec Git? "

10
VonC

Oui, c'est possible avec des soins appropriés. Cependant, vous supprimez une des copies du répertoire git normal en utilisant --work-tree=<path> option, donc les changements ne seront pas vus par git à moins que vous ne le disiez spécialement. J'ai donné un exemple ici single-working-branch-with-git - voir le segment UPDATED.

Notez que le git-new-workdir ne fonctionne pas sous Windows XP car il nécessite des liens de style Unix.

1
Philip Oakley

La première chose qui me vient à l'esprit est de vérifier chaque branche sur un projet distinct. Donc: 1. branche d'extraction A sur le clone principal (1) 2. créer un nouveau clone (2) 3. branche d'extraction B dans le clone 2

La deuxième approche pourrait consister à créer une nouvelle branche (alias C) et à y fusionner les branches A et B. S'ils sont complémentaires, cela pourrait aider votre examen.

1
Munhitsu