Je veux pouvoir faire ceci pour un script. Je suis essentiellement en train de recréer l'historique de version complet de certains codes dans Git - il utilise actuellement un système de contrôle de version différent. J'ai besoin du script pour pouvoir ajouter les commits à Git tout en préservant son auteur original (et sa date).
En supposant que je connaisse l'auteur du commit et la date/heure de la modification, existe-t-il une commande Git qui me permet de le faire? Je suppose que oui, car git-p4 fait quelque chose de similaire. Je demande juste la meilleure façon de le faire.
Vérifiez --author
option pour git commit
:
De la page de manuel :
--author=<author>
Ignorer l'auteur du commit. Spécifiez un auteur explicite à l'aide de la norme
A U Thor <[email protected]>
_ format. Autrement<author>
est supposé être un motif et est utilisé pour rechercher une validation existante par cet auteur (c.-à-d.rev-list --all -i --author=<author>
); l'auteur de la validation est alors copié à partir de la première validation trouvée.
Pour ajouter à cela: L'option --author
Mentionnée dans la réponse acceptée ne remplacera que le auteur, pas le committer informations du commit .
C’est le comportement correct dans la plupart des cas, mais si, pour une raison quelconque, vous devez également remplacer manuellement les informations du commetteur , utilisez le paramètre GIT_COMMITTER_NAME
et GIT_COMMITTER_EMAIL
variables d’environnement (il existe également un GIT_COMMITTER_DATE
). Voir Variables Git-Internals-Environment-Variables
$ GIT_COMMITTER_NAME="New Name" GIT_COMMITTER_EMAIL="[email protected]" git commit --author="New Name <[email protected]>"
Cela donnera l'impression que la validation a été créée et par l'utilisateur spécifié.