2017-01-18 1 views
0

Après avoir fait:Imprimer la liste des ed « écrémer git » engage sur la branche locale qui ne sont pas encore poussé

git cherry-pick -n <commit1> 
git cherry-pick -n <commit2> 
git cherry-pick -n <commit3> 
git cherry-pick -n <commit4> 

Je veux imprimer la liste des commits cerises cueillies. Ces validations n'ont pas encore été pushed sur la branche actuelle car j'utilise l'option -n. Comment faire ça?

Veuillez noter que je sais, SHA1 est changé après cerise-cueillette, ainsi les commits devraient être identifiés par commit-message IMO.

+1

Comme Vampire l'a dit dans http://stackoverflow.com/a/41717470/1256452, ce n'est pas possible en général. Cependant, 'git cherry-pick -n' laisse chaque message dans' .git/MERGE_MSG'. Malheureusement, les tests montrent qu'il écrase ce fichier à chaque fois, de sorte que vous pouvez seulement obtenir le * dernier * de toute façon. – torek

Répondre

3

Ceci n'est pas possible. Avec le -n vous dites cherry-pick de ne pas créer un commit, mais simplement d'appliquer les modifications au worktree. Alors maintenant vous avez les changements de 4 commits dans votre worktree, mais vous ne pouvez pas identifier à partir de laquelle ces changements viennent, sauf en examinant votre historique des commandes, dans bash ce serait history ou pour afficher seulement les commandes de sélection de cerise .