Quiero poder hacer esto para un guión. Básicamente, estoy recreando todo el historial de versiones de algún código en Git; actualmente usa un sistema de control de versiones diferente. Necesito que el script pueda agregar las confirmaciones a Git mientras se conserva el autor original (y la fecha) de la confirmación.
Suponiendo que conozco al autor de la confirmación y la fecha / hora en que se realizó el cambio, ¿hay un comando de Git que me permita hacer esto? Supongo que sí, porque git-p4 hace algo similar. Solo estoy preguntando cuál es la mejor manera de hacerlo.
git
command-line
commit
Carl
fuente
fuente
Respuestas:
Consulte la
--author
opción paragit commit
:Desde la página del manual :
fuente
--date
opción de anular la fecha.git commit -a --author="$user_details" --date="submit_date $submit_time" --file=/tmp/commit_msg
Sólo para añadir a esto: La
--author
opción mencionada en la respuesta aceptada sólo anulará el autor , no el confirmador información de la confirmación.Ese es el comportamiento correcto en la mayoría de los casos, pero si por alguna razón también necesita anular manualmente la información del confirmador , use las variables de entorno
GIT_COMMITTER_NAME
yGIT_COMMITTER_EMAIL
(también hay unaGIT_COMMITTER_DATE
). Ver Git-Internals-Environment-VariablesEsto hará que la confirmación parezca que fue creada y confirmada por el usuario especificado.
fuente
git log --pretty=fuller
Edite su archivo ~ / .gitconfig y agregue un nuevo alias donde pueda personalizar un usuario y correo electrónico no predeterminados.
Pruébalo
fuente