J'ai un commit c. Je veux obtenir le changeset de cette méta-information c + +, et aucun autre. Existe-t-il un moyen plus simple que git log -p c^..c
pour faire ça?
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 que le diff soit affiché, vous pouvez toujours faire quelque chose comme:
git log -1 -U c
Cela vous donnera le journal de validation, et vous aurez ensuite un contrôle total sur toutes les options de journalisation git pour vos besoins d'automatisation. Dans votre exemple, vous avez dit que vous vouliez le jeu de modifications. Le moyen le plus lisible pour 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 <[email protected]>
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 à votre guise via les commandes traditionnelles de git-log bien documentées ici .
git log -p c -1
fait juste cela.