Вы, наверное, можете сказать, кто это сделал!Когда вы перебазируете, поскольку коммиты переписаны, информация о коммитере будет получена от человека, выполняющего перебазирование, а не от первоначального автора.(Это отдельно от информации об авторе.)
Вы можете увидеть эту информацию в gitk
(на панели различий в левом нижнем углу) или в выводе git log --pretty=fuller
(как в более полном, чем полном объеме).).Пример вывода журнала:
commit b8624718b97a39a04637c91ec3517c109f3f681d
Author: Original Author <original@author.com>
AuthorDate: Sun Aug 8 02:15:10 2010 -0300
Commit: New Committer <new@committer.com>
CommitDate: Mon Jan 23 17:29:39 2012 -0800
a lovely commit message
...
Имя коммиттера, адрес электронной почты и дата взяты из операции, которая фактически написала коммит.Обратите внимание, что если он был перезаписан несколько раз, у вас будет только самая последняя информация.
Что касается того, где он был перебазирован из ... если оригинальная версия перебазированных коммитови в твоей истории это легко.Просто найдите в полной истории соответствующий коммит, например, по фрагменту сообщения о коммите или по чему-то, что было изменено в коммите:
git log --all --grep='commit subject from a rebased commit'
git log --all -S'void this_function_was_added() {'
Если у вас нет исходного коммита где-либо вистория больше, это будет сложнее.Надеюсь, вы сможете узнать, отследив человека, который это сделал, и, если они этого не знают, попросив их запустить git reflog show <branch>
в своем хранилище, чтобы просмотреть историю этой ветви.