Git: "сообщите мне, кто вы"

У меня есть серверы приложений, которые я загружаю вместе с помощью скриптов Chef + ad-hoc bash. Проблема в том, что когда я хочу запустить обновление на одном из этих серверов приложений, я получаю:

19:00:28: *** Please tell me who you are.

Run

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

Нужно ли мне устанавливать это для простого git pull origin master при каждом обновлении сервера приложений? В любом случае, чтобы переопределить это поведение, чтобы он не выходил из строя, когда имя и адрес электронной почты не были установлены?

Ответ 1

Я трачу на это много часов, когда вызываю PHP скрипт для инициализации и фиксации git. И я нашел, что рабочий поток должен быть:

1.git init
2.git config user.name "someone"
3.git config user.email "[email protected]"
4.git add *
5.git commit -m "some init msg"

Если вы замените [23] и 1, конфигурация не будет работать вообще.

Пожелайте, чтобы это помогло.

Ответ 2

Вместо git pull вы можете сделать:

git fetch
git reset --hard origin/master

Ни один из них не требует, чтобы вы настраивали имя пользователя/адрес электронной почты git.

Это уничтожит любые незафиксированные локальные изменения/фиксации и оставит ваш HEAD указывать на фиксацию (а не на ветку). Но ни один из них не должен быть проблемой для сервера приложений, так как вы не должны делать локальные изменения или делать это в этом репозитории.

Ответ 3

Если вы используете sourcetree: Репозиторий → Настройки репозитория → Дополнительно → снимите флажок "Использовать глобальные пользовательские настройки"

отлично поработал у меня.

Ответ 4

он работает для меня, попробуйте это.. вам необходимо настроить терминал с помощью удаленного доступа.

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

Ответ 5

Обновите свой процесс начальной загрузки, чтобы создать ${HOME}/.gitconfig с соответствующим содержимым или скопировать существующий из него.

Ответ 6

git config user.email "insert github email here"
git config user.name "insert github real name here"

Это отлично поработало для меня.

Ответ 7

Такая же проблема возникла у меня и разрешила ее, добавив настройки по умолчанию и параметры репозитория электронной почты.

Как предложил Дорон -

Если вы используете sourcetree: Repository → Настройки репозитория → Дополнительно → снимите флажок "Использовать глобальные пользовательские настройки".

Добавить имя по умолчанию и адрес электронной почты.

Ответ 8

Нужно ли мне устанавливать это для простого простого мастера создания тэгов git при каждом обновлении сервера приложений? В любом случае, чтобы переопределить это поведение, чтобы он не выходил из строя, когда имя и адрес электронной почты не были установлены?

Он попросит только один раз и убедитесь, что открытый ключ rsa для этой машины добавлен через вашу учетную запись github, к которой вы пытаетесь передать или передать запрос на перенос.

Дополнительная информация об этом может быть найдена: Здесь

Ответ 9

Для меня проблема была в подключении к сети, как только я снова подключился к моему Wi-Fi, он мог получить детали и зафиксировать без каких-либо проблем.

Ответ 10

В моем случае мне не хватало "е" в слове "электронная почта", как сказал Чад выше, но я вижу, что это не так с вами. Пожалуйста, нажмите следующую команду, чтобы увидеть, все ли тянет, как ожидалось.

git config -l

Ответ 11

Вы должны написать свой адрес электронной почты, как это

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

Затем: напишите имя пользователя

 git config --global user.name "Your Name"

После этого появится окно Poupup

Напишите ИМЯ ПОЛЬЗОВАТЕЛЯ И ЭЛЕКТРОНУ

Ответ 12

ИМХО, правильный способ устранить эту ошибку - настроить глобальный конфигурационный файл git.

Для этого выполните следующую команду: git config --global -e

Появится редактор, куда вы сможете вставить свои стандартные настройки git.

Вот некоторые из них:

[user]
    name = your_username
    email = [email protected] 
[alias]
    # BASIC
    st = status
    ci = commit
    br = branch
    co = checkout
    df = diff

Подробнее см. Настройка Git - Конфигурация Git

.Когда вы видите команду вроде git config...

$ git config --global core.whitespace \
    trailing-space,space-before-tab,indent-with-non-tab

... вы можете поместить это в свой глобальный конфигурационный файл git как:

[core]
   whitespace = space-before-tab,-indent-with-non-tab,trailing-space

Для однократной конфигурации вы можете использовать что-то вроде git config --global user.name 'your_username'

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

Настройки user.name и user.email сообщают git, кто вы, поэтому последующие команды git commit не будут жаловаться, *** Please tell me who you are.

Много раз, команды git предполагают, что вы выполняете не то, что вы должны запускать. На этот раз предлагаемые команды неплохие:

$ git commit -m 'first commit'

*** Please tell me who you are.

Run

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

Совет. До тех пор, пока я не очень хорошо ознакомился с git, я сделал резервную копию файла моего проекта - перед запуском предложенных команд git и изучением вещей, которые, как я думал, будут работать, - несколько раз спасал бекон.

Ответ 13

У меня было это как ошибочное сообщение об ошибке:
git pull отлично работает на линии cmd
git pull не удалось выполнить процесс Perl CGI (webhook для автоматического развертывания из github) с указанной выше ошибкой.

Выполнение git status идентифицировало конфликтный файл. Сортировка была устранена.

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

На этот раз установка $HOME и $USER env vars исправила его (по умолчанию отключена в процессе CGI)

Ответ 14

Я столкнулся с этим сообщением об ошибке, пытаясь зафиксировать некоторые файлы.

Просто запустив git fetch, тогда попытка моего фиксации снова сработала для меня.

Ответ 15

Посмотрите на файл конфигурации.

Репозиторий > Настройки репозитория > Изменить файл конфигурации.

Проверьте, существует ли раздел [user]. Если раздел пользователя отсутствует, добавьте его.

Пример:

[user]
name = "your name"
email = "your email"

Ответ 16

я использую heroku cli 1. должен использовать все имя пользователя и адрес электронной почты пользователя

$ git config --global user.email.login электронная почта.

$ git config --global user.name.heroku name.

  1. git pull [git url]
  2. мерзавец
  3. мерзавец добавить *

    5 git commit -m "после конфигурации user.name, электронная почта пользователя"

  4. гит пуш герой мастер

Ответ 17

Я использовал Jenkins и столкнулся с этой проблемой при попытке выполнить релиз (который требует git commit). Чтобы устранить проблемы, мне нужно было добавить пользовательское имя пользователя/адрес электронной почты (см. Рисунок) Custom user name/e-mail address. Это гарантировало, что при проверке кода использовалось мое имя пользователя/адрес электронной почты при выполнении выпуска. Обратите внимание, что эта конфигурация доступна из конфигурации проекта Jenkins Multibranch Pipeline.

Ответ 18

git pull не должен этого требовать. Однако, если вытягивание вызывает конфликт слияния, то оно кажется необязательным.

Ответ 19

Для исправления я использую: git config --global user.email "[email protected]" и работает.

user.mail не работает, нужно поставить E. Typo возможно?

Ответ 20

Это опечатка. Вы случайно установили "user.mail" без " e". Исправьте его, установив "user. e mail" в глобальной конфигурации с помощью

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

Найдено решение здесь

fooobar.com/info/46030/...