Lors de la réécriture de l'historique d'un référentiel Git, comment pouvez-vous supprimer les signalisations (créées par git commit -s
ou git commit --signoff
)?Réécriture de l'historique Git: comment supprimer une signature?
git filter-branch
« s commit-filter
semble soutenir que les variables utilisées par git commit-tree
:
GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE
EMAIL
Merci! C'est probablement le meilleur moyen de supprimer toutes les approbations ou toutes les approbations par une personne ou une adresse e-mail particulière. Cependant, votre exemple particulier ne supprime pas les nouvelles lignes avant et après la ligne contenant "Signé par:". Je ne connais pas bien sed et comme il est notoire de ne pas être très bien documenté, je vais juste le noter ici pour être complet. – Mantrum
@Mantrum Oui, cela supprime simplement les lignes de signature elles-mêmes. Vous devrez faire quelque chose d'un peu plus compliqué si vous voulez supprimer la ligne vide supplémentaire avant la signature; vous voudrez vérifier s'il y a d'autres lignes finales en dessous du message (j'ai habituellement 'Bug:' lignes pour indiquer quel bogue il corrige, et parfois 'Paired-with:' ou 'Reviewed-by' pour indiquer la programmation par paire et revue de code). Généralement sur StackOverflow, les réponses vous dirigeront dans la bonne direction, mais vous devrez peut-être remplir certains détails en fonction de vos besoins exacts. –