Я хочу сделать это для сценария. По сути, я воссоздаю всю историю версий некоторого кода в Git - в настоящее время он использует другую систему контроля версий. Мне нужен сценарий, чтобы можно было добавлять коммиты в Git, сохраняя при этом первоначального автора (и дату) коммита.
Предполагая, что я знаю автора фиксации и дату / время внесения изменений, существует ли команда Git, которая позволяет мне это сделать? Я предполагаю, что да, потому что git-p4 делает нечто подобное. Я просто спрашиваю, как лучше это сделать.
git
command-line
commit
деревенщина
источник
источник
Ответы:
Оцените
--author
вариант дляgit commit
:На странице руководства :
источник
--date
возможность переопределить дату.git commit -a --author="$user_details" --date="submit_date $submit_time" --file=/tmp/commit_msg
Просто чтобы добавить так:
--author
вариант упоминается в общепринятом ответе будет только переопределить автор , а не зафиксировавшую информацию фиксации.В большинстве случаев это правильное поведение, но если по какой-то причине вам нужно вручную переопределить информацию о коммиттере, используйте переменные среды
GIT_COMMITTER_NAME
иGIT_COMMITTER_EMAIL
(также естьGIT_COMMITTER_DATE
). См. Git-Internals-Environment-VariablesВ результате фиксация будет выглядеть так, как будто она была создана и зафиксирована указанным пользователем.
источник
git log --pretty=fuller
Для конкретного сценария вы можете использовать
-c user.name='My Name' -c user.email='my@email.com'
аргументы в своей команде cli, чтобы переопределить любую предыдущую конфигурацию.git commit -c user.name='My Name' -c user.email='my@email.com' -m "Custom message"
Однако, если вы намерены сохранить его как дополнительную настройку, вы можете использовать псевдоним. В этом случае отредактируйте файл ~ / .gitconfig и добавьте новый псевдоним, в котором вы можете настроить пользователя и адрес электронной почты, отличные от стандартных.
Попробуй это
источник