Eu quero ser capaz de fazer isso para um script. Estou essencialmente recriando todo o histórico de versões de alguns códigos no Git - atualmente, ele usa um sistema de controle de versões diferente. Eu preciso que o script seja capaz de adicionar commits no Git enquanto preserva o autor original do commit (e data).
Supondo que eu conheça o autor do commit e a data / hora em que a alteração foi feita, existe um comando do Git que me permite fazer isso? Presumo que sim, porque git-p4 faz algo semelhante. Só estou pedindo a melhor maneira de fazer isso.
git
command-line
commit
Carl
fonte
fonte
Respostas:
Confira a
--author
opção degit commit
:Na página de manual :
fonte
--date
opção de substituir a data.git commit -a --author="$user_details" --date="submit_date $submit_time" --file=/tmp/commit_msg
Só para adicionar a isso: A
--author
opção mencionada na resposta aceita apenas substituirá o autor , não as informações do committer do commit.Esse é o comportamento correto na maioria dos casos, mas se por algum motivo você precisar substituir manualmente as informações do committer também, use as variáveis de ambiente
GIT_COMMITTER_NAME
eGIT_COMMITTER_EMAIL
(também existe umaGIT_COMMITTER_DATE
). Consulte Git-Internals-Environment-VariablesIsso fará com que o commit pareça ter sido criado e confirmado pelo usuário especificado.
fonte
git log --pretty=fuller
Edite seu arquivo ~ / .gitconfig e acrescente um novo alias onde você pode personalizar um usuário e e-mail não padrão.
Teste-o
fonte