web-dev-qa-db-fra.com

Comment puis-je lancer git log pour ne voir les modifications que dans une branche spécifique?

J'ai une branche locale qui suit la branche distante/principale. Après avoir exécuté git-pull et git-log, le journal affichera tous les commits dans la branche de suivi à distance ainsi que dans la branche en cours. Cependant, en raison des nombreuses modifications apportées à la branche distante, il me suffit de voir uniquement les commits effectués dans la branche locale actuelle.

Quelle serait la commande Git à utiliser pour afficher uniquement les commits pour une branche spécifique?

Remarques:

Informations de configuration:

[branch "my-branch"]
  remote = Origin
  merge = refs/heads/master
328
Highway of Life

En supposant que votre branche ait été créée à partir de master, alors dans la branche (c'est-à-dire que la branche est extraite):

git cherry -v master

ou

git log master..

Si vous ne vous trouvez pas dans la branche, vous pouvez ajouter le nom de la branche à la commande "git log", comme suit:

git log master..branchname

Si votre branche a été créée à partir de Origin/master, dites alors Origin/master au lieu de master.

447
Wayne Conrad

Utilisation:

git log --graph --abbrev-commit --decorate  --first-parent <branch_name>

Ce n'est que pour la branche cible (bien sûr --graph, --abbrev-commit --decorate sont plus polisants).

L'option de clé est --first-parent: "Ne suivez que le premier commit à voir une validation de fusion" ( https://git-scm.com/docs/git-log )

Cela empêche l'affichage des forks de commit.

80
yerlilbilgin

Si vous souhaitez uniquement les commits que vous effectuez dans une branche particulière, utilisez la commande ci-dessous.

git log branch_name --author='Dyaniyal'
16
Dyaniyal Wilson

Le problème que je rencontrais, et qui est semblable à celui-ci, est que le maître était trop en avance sur mon point de branche pour que l’histoire soit utile. (Naviguer vers le point de branchement prendrait trop de temps.)

Après quelques essais et erreurs, cela m'a donné à peu près ce que je voulais:

git log --graph --decorate --oneline --all ^master^!
7
GPHemsley