Чому Git не дозволяє мені робити коміт навіть після конфігурації?


84

Це питання здається дублікатом, але насправді це не так. Тільки невелика різниця, яка постійно повторюється. git продовжує говорити мені: "будь ласка, скажи мені, хто ти", навіть після налаштування. коли я біжу git commit, це я отримую ....

$ git commit

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

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

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'Obby@ObbyWorkstation.(none)')

Але коли я біжу git config --global -l, це дає мені всі мої дані ...

$ git config --global -l
user.name=myname
user.mail=me.myself@gmail.com
http.proxy=proxy.XX.XX.XX:XXXX

Я змінив своє ім'я, електронну адресу та проксі-сервер, але вони виглядають нормально, коли я запускаю команду, навіть у файлі .gitconfig я бачу, що значення встановлені. що може бути відсутнім, бо я взагалі не можу здійснити. Щоразу мене постійно запитують, хто я?

@sheu сказав мені щось, що я змінив, але все одно та сама проблема. коли я встановлюю --local, все ще git commitзадає мені те саме питання. це результат

$ git config --local -l
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
user.name=myname
user.mail=me.myself@gmail.com

Можливо, ця публікація може бути відповіддю на ваше запитання stackoverflow.com/questions/2936652/…
Sumit Munot 02

@SumitMunot, я не зміг знайти щось корисне ... у мене є лише головна гілка і жодної іншої
Оббі 02

3
@SumitMunot, пропонуючи редагування, утримуйтесь від додавання таких матеріалів, як "Будь ласка, допоможіть" та "Заздалегідь дякую". Такі фрази не рекомендуються, оскільки вони додають зайвого шуму питанню. Крім того, ви активно змінюєте заголовки на запитання, але у багатьох випадках вам не вистачає дієслова "Є". Будь ласка, переконайтесь, що ви використовуєте належну граматику, пропонуючи редагування.
psubsee2003

5
Чи не повинно це бути user.emailв глобальній конфігурації (зверніть увагу на електронну пошту)?
Люмен

Відповіді:


166

Це друкарська помилка. Ви випадково встановили user.mailбез e . Виправте це, встановивши user.emailв глобальній конфігурації за допомогою

git config --global user.email "you@example.com"

дякую ... я навіть не зміг цього помітити. проблема натискання стрілки вгору замість того, щоб писати заново
Оббі

О, блін! Припустився тієї ж помилки.
Azmodan

вибачте, але я не міг зрозуміти, де мені потрібно встановити або відредагувати?
cSharma

1
5 років потому, і я зробив ту ж помилку!
Джалал,

Неймовірно, як друкарська помилка може втратити стільки часу! Дякую, друже!
сойка

10

Ви встановлюєте глобальні параметри git, але локальне замовлення, можливо, має перевизначення. Спробуйте встановити їх ще раз за допомогою git config --local <setting> <value>. Ви можете подивитися .git/configфайл у вашому локальному касовому відділі, щоб побачити, які локальні налаштування визначило касове.


Ви можете стерти свої дані git на панелі керування: Панель керування → Облікові записи користувачів → Диспетчер облікових даних → Диспетчер облікових даних Windows. Потім знову введіть його, вказавши правильне ім’я користувача та пароль. Це єдиний варіант, який працював у мене.
Софі Куперман

3

У вас є місцевий user.nameабо user.emailце перевершує глобальний?

git config --list --global | grep user
  user.name=YOUR NAME
  user.email=YOUR@EMAIL
git config --list --local | grep user
  user.name=YOUR NAME
  user.email=

Якщо так, видаліть їх

git config --unset --local user.name
git config --unset --local user.email

Локальні налаштування вказані для кожного клону, тому вам доведеться скасувати локальні user.nameта user.emailкожні репозиторії на вашому комп'ютері.


0

У мене була ця проблема навіть після правильного налаштування конфігурації. git config

Мій сценарій видавав команду git через супервізор (у Linux). Під час подальшої налагодження супервізор не читав конфігурацію git з домашньої папки. Отже, мені довелося встановити змінну середовища HOME у конфігурації супервізора, щоб вона могла правильно знайти конфігурацію git. Дивно, що супервізор не зміг знайти git-конфігурацію лише з імені користувача, налаштованого в конфігурації супервізора (/etc/supervisor/conf.d).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.