2 votes

Réécrire automatiquement tous les commits rebaseés

Je veux pouvoir retravailler mes messages de commit avant de les pousser vers mon dépôt distant, mais je veux le faire automatiquement.

Je peux reformuler tous mes commits supplémentaires en faisant

git rebase -i origin/master

Cela ouvre un éditeur où je peux changer tous les commits de pick à reword. Ensuite, il ouvrira des éditeurs où je pourrai retravailler mes messages de commit.

Résumé des contraintes :

  • Je ne veux pas devoir modifier chaque commit en reword.
  • Je ne veux pas avoir à taper manuellement chaque hash de commit.

Y a-t-il un moyen de faire un rebase de cette manière ?

6voto

λuser Points 654

Étant donné que la question est un peu vague quant à la nature des modifications, voici quelques indices sur ce que vous pourriez faire.

Je ne veux pas devoir changer chaque commit pour reformuler.

Vous pouvez changer l'éditeur utilisé par git-rebase -i avec git config sequence.editor 'sed -i s/pick/reword/', afin qu'aucun éditeur ne s'ouvre pour le rebase-todo, et que les picks soient remplacés. Mais c'est un peu maladroit car vous devez annuler la configuration après. (il y a aussi core.editor pour d'autres cas, et $EDITOR).

Vous pouvez également exécuter git rebase origin/master -x 'git commit --amend'. -x ajoute un exec , ligne après chaque pick dans le rebase-todo. Notez qu'ici, aucun -i n'est nécessaire. L'amend vous permettra de modifier le message du commit, par exemple git commit --amend -m "nouveau message".

Je ne veux pas avoir à taper manuellement chaque commit dont je veux modifier le message.

Vous pouvez utiliser la variable EDITOR pour une commande non interactive qui modifie de la manière souhaitée, mais je ne sais pas quel type de modification vous souhaitez effectuer.

Je veux rebase tous les nouveaux commits avec autre chose que pick

Voir les réponses précédentes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X