Я пытаюсь зафиксировать некоторые изменения от имени другого пользователя, но у меня нет действующего адреса электронной почты, у меня не работает следующая команда:
git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
У меня такая же проблема при попытке совершить фиксацию только с адресом электронной почты
git commit --author="john@doe.com" -m "some fix"
fatal: No existing author found with 'john@doe.com'
На страницах руководства GIT для команды фиксации говорится, что я могу использовать
standard A U Thor <author@example.com> format
Для параметра --author.
Где определяется этот формат? что означает A и U? как сделать фиксацию для другого пользователя только с именем пользователя или только с электронной почтой?
Ответы:
Минимальный требуемый формат автора, на который намекает этот ответ SO , является
В вашем случае это означает, что вы хотите написать
Согласно комментарию Виллема Д'Хазелера, если у вас нет адреса электронной почты, вы можете использовать
<>
:Как написано на
git commit
странице руководства, на которую вы ссылаетесь, если вы предоставите что-либо меньшее, это будет использоваться в качестве токена поиска для поиска по предыдущим коммитам, ища другие коммиты этого автора.источник
"name <>"
, иgit commit --amend
после, он завершитсяinvalid ident
ошибкой; так что просто не надоКонкретный формат:
источник
Кажется, это определяется следующим образом: (насколько я знаю, без каких-либо гарантий)
AU Thor = требуемое имя пользователя
<author@example.com> = необязательный адрес электронной почты
Если вы не используете этот точный синтаксис, git будет искать среди существующих коммитов и использовать первый коммит, содержащий вашу предоставленную строку.
Примеры:
Только имя пользователя
Не указывайте адрес электронной почты явно:
Только электронная почта
Технически это невозможно. Однако вы можете ввести адрес электронной почты в качестве имени пользователя и явно опустить адрес электронной почты. Это не кажется очень полезным. Я думаю, что было бы еще разумнее извлечь имя пользователя из адреса электронной почты, а затем использовать его в качестве имени пользователя. Но если вам нужно:
Я столкнулся с этим, когда пытался преобразовать репозиторий из mercurial в git. Я тестировал команды на msysgit 1.7.10.
источник
Просто добавка :
В некоторых случаях фиксация по-прежнему не выполняется и отображается следующее сообщение:
Так что просто запустите «git config», затем «git commit»
источник
Формат
просто означает, что вы должны указать
Похоже, что отчество и фамилия необязательны (возможно, часть перед электронным письмом вообще не имеет строгого формата). Попробуйте, например, вот что:
Как говорится в документах:
если вы не используете этот формат, git рассматривает предоставленную строку как образец и пытается найти совпадающее имя среди авторов других коммитов.
источник
--author
Опция не работает:Это делает:
источник
git commit -c user.name="j bloggs" -am "message"
выдает ошибкуfatal: Option -m cannot be combined with -c/-C/-F
Откройте Git Bash.
Задайте имя пользователя Git:
$ git config --global user.name "name family" Убедитесь, что вы правильно установили имя пользователя Git:
$ git config --global user.name
Установите адрес электронной почты Git:
$ git config --global user.email email@foo.com Убедитесь, что вы правильно установили адрес электронной почты Git:
$ git config --global user.email
источник
Все зависит от того, как вы совершаете.
Например:
git commit -am "Some message"
будет использовать ваше
~\.gitconfig
имя пользователя. Другими словами, если вы откроете этот файл, вы должны увидеть строку, которая выглядит так:Это адрес электронной почты, который вы хотите изменить. Если вы выполняете пул-реквест через Bitbucket или Github и т. Д., Вы будете тем, под каким именем вы вошли.
источник
Альтернатива , если забота , чтобы скрыть реальный адрес электронной почты ... Если вы совершаете на Github вам не нужен реальный электронной почты , вы можете использовать
<username>@users.noreply.github.com
Независимо от того, с помощью Github или нет, вы , вероятно , первым хотите изменить коммиттер детали (об использовании окна
SET GIT_...
)Затем установите автора
https://help.github.com/articles/keeping-your-email-address-private
источник
Запустите эти две команды из терминала, чтобы установить адрес электронной почты и имя пользователя.
источник