40 votes

Git fusionner aplatir

Si je travaille dans plusieurs branches sur une seule fonctionnalité, j'utilise git pull branch1 branch2 branch3 pour extraire toutes les modifications dans ma branche principale. Cependant, tous les journaux de validation de chaque branche sont également copiés. Comment puis-je aplatir le journal de validation en un seul message?

71voto

Jakub Narębski Points 87537

"git merge --squash" (d'après "git fetch"; "git pull" est juste fetch+de fusion, pehaps il permet aussi, squash option) pourrait être ce que vous voulez.

À partir de git-fusion(1):

--squash

Produire de l'arbre de travail et état de l'index, comme si une véritable fusion qui s'est passé, mais ne pas réellement faire un commit ou de bouger la TÊTE, ni record $GIT_DIR/MERGE_HEAD à cause de la prochaine git commit commande pour créer une fusion de la validation. Cela vous permet de créer un commit unique sur le dessus de la branche courante, dont l'effet est le même que la fusion une autre branche (ou plus dans le cas d'une pieuvre).

25voto

Pat Notz Points 46841

Vous pouvez utiliser rebase interactive et "écraser" les commits - voir aussi le tutoriel Git Ready sur l'écrasement via rebase . Désolé de simplement jeter un lien sur vous, mais c'est un tutoriel assez complet. Oh, et ça va également écraser vos fusions très bien.

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