165 votes

Obtenir les parents d'une fusion commet dans git

Compte tenu d'un engagement de fusion, comment puis-je obtenir ses parents? Certaines commandes git prennent le parent en tant que révision; autres (tels que git revert ), en tant que numéro parent; Je voudrais savoir comment obtenir les parents pour les deux cas. Je ne souhaite pas utiliser la commande log log car cela nécessite souvent de faire défiler un long arbre pour trouver le second parent.

211voto

Jefromi Points 127932

À noter également que la normale de la sortie du journal montre l'abrégé les hachages des parents, pas besoin de faire défiler:

 commit 395f65d438b13fb1fded88a330dc06c3b0951046
 Merge: 9901923 d28790d
 ...

git toujours les imprime dans l'ordre de leur numéro du parent: le premier hachage est pour le premier parent, et ainsi de suite.

Si vous voulez juste les tables de hachage, les deux équivalent choix:

git log --pretty=%P -n 1 <commit>
git show --pretty=%P <commit>

rev-list peut aussi afficher le parent hachages pour une livraison. Il sera le premier de la liste, la valeur de hachage pour une livraison, suivi par les parents.

git rev-list --parents -n 1 <commit>

Si vous voulez examiner les parents, vous pouvez vous référer à eux directement avec carats comme <commit>^1 et <commit>^2, par ex.:

git show <commit>^1

Cela ne veut généraliser; pour un poulpe de fusion, vous pouvez vous référer à la nde la th parent en tant que <commit>^n. Vous pouvez consulter tous les parents d' <commit>^@, bien que cela ne fonctionne pas quand un seul commit est nécessaire. Des suffixes supplémentaires peuvent apparaître après la nde la th parent de syntaxe (par exemple, <commit>^2^, <commit>^2^@), alors qu'ils ne peuvent pas après l' ^@ (<commit>^@^ n'est pas valide). Pour en savoir plus sur cette syntaxe, lire l' rev-parse page de man.

À noter également que la normale de la sortie du journal ne montrent abrégé les hachages des parents:

 commit 395f65d438b13fb1fded88a330dc06c3b0951046
 Merge: 9901923 d28790d
 ...

39voto

user1483344 Points 71

Voici le moyen le plus simple que j'ai trouvé pour afficher les parents d'une fusion

 git show --pretty=raw 3706454
 

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