Подтвердить что ты не робот

Fatal: Нет существующего автора, найденного с помощью 'XXX'

Я использовал git в первый раз, и я установил свое имя пользователя и почту пользователя. Ниже приведены команды, которые я использовал:

git config --global user.email "[email protected]"
git config user.email "[email protected]"
git config --global user.name "bob"
git config user.name "bob"

Когда я запустил git commit --author "bob", я получил сообщение об ошибке fatal: No existing author found with 'bob'. Как установить имя пользователя и адрес электронной почты?

4b9b3361

Ответ 1

Вы должны прекратить использование --author каждый раз, когда вы совершаете фиксацию, и вместо этого настраиваете автора с помощью git config. Как только вы это сделаете, вы можете ввести git commit, и автор будет извлечен из вашего файла .gitconfig.

Если вы хотите присвоить --author имя, которое будет использоваться для создания фиксации, вам нужно использовать bob <[email protected]>, а не только bob. Если ваша строка автора не соответствует формату user <[email protected]>, Git предполагает, что вы дали ему шаблон поиска, и он попытается найти фиксации с соответствующими авторами. Он будет использовать первый найденный commit user <[email protected]> в качестве автора.

Ответ 2

Эта команда выполнит трюк:

git commit --amend -C HEAD --reset-author

Ответ 3

Примечание: начиная с Git 2.3.1+ (Q1/Q2 2015) сообщение об ошибке будет более явным.
См. commit 1044b1f Michael J Gruber (mjg)

commit: reword --author сообщение об ошибке

Если аргумент --author указан, но не содержит '>', то Git пытается найти аргумент в существующих авторах; и дает сообщение об ошибке "No existing author found with '%s'", если нет совпадения.

Это смущает пользователей, которые пытаются указать действительного полного автора имя.

Переименуйте сообщение об ошибке, чтобы уточнить, что сбой имеет два причины в этом случае.

Решение остается для правильной настройки конфигурации user.name и user.email, но для случая, когда используется --author, по крайней мере ожидаемый аргумент теперь становится яснее.