J'ai un commit c. Je veux obtenir le jeu de modifications de cette méta-information exacte commit c + et aucune autre. Y a-t-il un moyen plus simple que git log -p c^..c
de le faire?
Réponses:
Vous pouvez utiliser show
:
git show commit_id
La réponse de Michal Trybus est la meilleure pour la simplicité. Mais si vous ne voulez pas la différence dans votre sortie, vous pouvez toujours faire quelque chose comme:
git log -1 -U c
Cela vous donnera le journal de validation, puis vous aurez un contrôle total sur toutes les options de journalisation git à des fins d'automatisation. Dans votre cas, vous avez dit que vous vouliez l'ensemble de modifications. Le moyen le plus lisible par l'homme d'y parvenir serait:
git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c
Ou, si vous utilisez une version git supérieure à 1.8.X, ce serait:
git log --name-status --diff-filter="ACDMRT" -1 -U c
Cela vous donnera des résultats similaires à:
commit {c}
Author: zedoo <zedoo@stackoverflow.com>
Date: Thu Aug 2 {time-stamp}
{short description}
D zedoo/foo.py
A zedoo/bar.py
Bien sûr, vous pouvez filtrer les événements qui vous conviennent et formater le retour comme vous le souhaitez via les commandes git-log traditionnelles qui sont bien documentées ici .
git show -s <commit>
.
-1
-on? Où est-il documenté?
git help log
sous la section "Limitation de validation". Ou voir git-scm.com/book/en/v2/… -<number>
limite le nombre de commits à sortir.
git log -p c -1
fait juste cela.
-n 1
ou --max-number=1
et est documenté ici .
git show --name-only <sha1>
!