Получение "фатальный: пустое имя идентификатора не разрешено" при выполнении "git commit --amend"

Я делаю git commit --amend и я получаю эту ошибку:

fatal: пустое имя идентификатора (для <>) не разрешено

Я нашел кучу вещей, говорящих, что мне нужно установить user.email и user.name, но у меня есть. Это результат, когда я делаю git config --global --list:

core.exludesfile =/дом /dzou/.gitignore
core.editor = ВИМ
[email protected]
user.name = dzou

Что здесь происходит? Благодарю!

Ответ 1

Сначала установите глобальные user.name и user.email по порядку, как показано ниже.

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

Примечание: осторожно, используйте двойные кавычки вместо одинарных кавычек

Ответ 2

У меня была похожая проблема, потому что при фиксации user.email был установлен правильно, но user.name был пуст. Таким образом, даже если я установлю имя пользователя в конфигурации, у меня все равно будет та же ошибка "пустого идентификатора".

Я исправил это, добавив --reset-author к команде изменения (после установки правильного user.name)

$ git commit --amend --reset-author

Ответ 3

У меня возникла такая же проблема после того, как я выполнил некоторую ветвь фильтра без использования кавычек. Это привело к созданию нового пользователя без какой-либо информации, поэтому возникла ошибка, поэтому предложение по настройке собственного имени пользователя и адреса электронной почты не поможет.

Мне удалось это исправить, отредактировав файл конфигурации и удалив пустого пользователя. Вы можете запустить

$ git config --global -e  

и удаление строки [user], в которой нет поля-члена. Мне тоже пришлось сделать перезагрузку, но после этого она работает. Надеюсь, это поможет!

Ответ 4

Исправлено путем удаления локальной конфигурации и использования глобальной конфигурации

$ git config --local -e

теперь удалите все локальные строки и сохраните пустой файл