161 votes

Comment comparer deux commits différents sur la même branche dans github ?

La comparaison des historiques sur une même branche est très confuse pour moi sur GitHub. Je me débats régulièrement avec cela :

Si j'utilise compare/master dans l'URL après le nom du repo GitHub, je peux comparer avec d'autres branches du repo en fonction des options des menus déroulants.

https://help.github.com/en/articles/comparing-commits-across-time

Cependant, je souhaite généralement comparer plusieurs commits sur master.

Comment cela peut-il se faire facilement ? Pourrais-je obtenir un exemple plus clair ?

286voto

Pankaj Singhal Points 652

Vous pouvez utiliser la structure URL suivante pour comparer des commits dans la même branche :

github.com/<username>/<repo_name>/compare/<commit1>...<commit2>

Remplacer les valeurs pour username , repo_name , commit1 & commit2 en fonction de votre projet.

Le séparateur entre les deux commits est ... c'est-à-dire 3 dots .

0 votes

3 points ? C'est le séparateur entre les deux commits ?

30 votes

Oh, il semble qu'il y ait un 2 points des notations qui montrent plus d'informations.

28 votes

Cela fonctionne bien. Je me demande pourquoi github n'a pas d'interface pour cela et que nous devons continuer à modifier les urls.

30voto

wisbucky Points 829

TLDR : Il suffit d'ajouter /compare à la fin de l'URL.

Vous pouvez utiliser l'interface utilisateur de Github Compare, qui générera l'URL pour vous. Remplacer ORG y REPO avec vos valeurs. L'interface utilisateur ne liste que les branches, mais vous pouvez également taper n'importe quelle étiquette valide (par ex. v1.0.0 ) ou des ID d'engagement (ex. 1a2b3c ).

https://github.com/ORG/REPO/compare/

enter image description here


Les URL qui sont générées sont dans ce format. Vous pouvez également modifier manuellement l'URL avec les REF.

https://github.com/ORG/REPO/compare/REF1...REF2

Vous pouvez également utiliser "2 points" (diff direct) au lieu de "3 points" (diff du dernier commit commun). Idem que git diff A..B vs git diff A...B .

https://github.com/ORG/REPO/compare/REF1..REF2

Si vous voulez comparer plusieurs fourchettes, vous devez alors ajouter ORG2:

https://github.com/ORG/REPO/compare/REF1...ORG2:REF2

Il y a de la documentation, mais je ne pensais pas que c'était si clair : https://help.github.com/en/github/committing-changes-to-your-project/comparing-commits-across-time

4voto

Schwern Points 33677

L'article que vous avez cité contient des instructions pour comparaison des commits .

L'outil de comparaison GitHub acceptera n'importe quelle révision . Branches, tags, ID de commit, même les dates. Si vous voulez comparer deux commits, donnez-lui les ID des commits. Voici leur exemple .

0 votes

Comment pourrait-on comparer .27 à .28 par exemple ? github.com/alpacahq/pylivetrader/tree/master/pylivetrader

2 votes

0 votes

Terrible et aussi tout l'alpacahq >= 8 mai aussi ?

1voto

Kim Paulissen Points 358

pour voir la différence entre les branches ou les tags

(branches si aucune demande de pull n'a été faite)

Notes :

  • (si une pull request a été faite, vous pouvez voir les changements à l'intérieur de la PR, et non plus via l'url de comparaison).

  • Vous pouvez utiliser les listes déroulantes pour sélectionner différentes branches ou balises : enter image description here

  • s'occuper de la commande, par exemple https://github.com/PyCQA/mccabe/compare/master...0.6.1 ne donnera aucun résultat

  • vous pouvez choisir entre la notation à 2 points (..) ou à 3 points (...)

pour voir la différence entre les commits :

1voto

Dyno Cris Points 142

Il suffit d'aller sur https://github.com/USERNAME/REPOSITORY_NAME/compare pour atteindre la page de comparaison

enter image description here

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