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
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
.
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.
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'
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^!