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


144

Во время настройки gitя выполнил эти две команды:

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

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

Однако сомневаюсь, допустил ли я опечатку или нет. Итак, есть ли команда знать имя и электронную почту , которая gitсохраненную во время конфигурации? Очевидно, я могу узнать это с помощью git logкоманды, просмотрев историю коммитов. Но для этого я должен делать коммиты, верно? Могу ли я узнать это с помощью командной строки?


Вы меняете ОС или что-то в этом роде?
Динит

Да, иногда я форматирую свою систему, чтобы попробовать другую ОС.
Jebin Philipose

Ответы:


213

Команда git config --listвыведет список настроек. Там же вы должны найти user.nameи user.email.


1
Вот это да! Что помогает! Но это длинный список, и я не знал, что у конфигурации так много вариантов. Спасибо за ответ!
Джебин Филипос,

@JebinPhilipose Я уверен, что вы можете проголосовать сейчас, поскольку вы прошли требование 15 репутации для голосования, как упомянуто здесь . В остальном, пожалуйста, отметьте один из ответов как принятый, который был наиболее полезен для решения вашей проблемы. Вам нужно будет нажать на галочку под кнопками голосования, чтобы отметить ответ как принятый. Вы также получите +2, если сделаете это :). Это помогает сообществу сосредоточиться на вопросе без ответа.
RBT

44

Учитывая то, что сказал @Robert, я попытался поиграться с configкомандой, и мне кажется, что существует прямой способ узнать и имя, и адрес электронной почты.

Чтобы узнать имя пользователя, введите:

git config user.name

Чтобы узнать адрес электронной почты, введите:

git config user.email

Эти два выводят только имя и адрес электронной почты соответственно, и никому не нужно просматривать весь список. Пригодится.


33

Внутри каталога репозитория git запустите git config user.name.

Почему важен запуск этой команды в каталоге репозитория git?

Если вы находитесь за пределами репозитория git, git config user.nameвыдает значение user.nameна глобальном уровне. Когда вы делаете коммит, соответствующее имя пользователя считывается на локальном уровне.

Хотя маловероятно, скажем user.name, определяется как fooна глобальном уровне, но barна локальном уровне. Затем, когда вы работаете git config user.nameза пределами каталога репозитория git, он дает bar. Однако, когда вы действительно что-то фиксируете, соответствующее значение имеет значение foo.


Переменные конфигурации Git могут храниться на 3 разных уровнях. Каждый уровень отменяет значения на предыдущем уровне.

1. Системный уровень (применяется ко всем пользователям в системе и ко всем их репозиториям)

  • для просмотра, git config --list --system(может понадобиться sudo)
  • установить, git config --system color.ui true
  • для редактирования файла конфигурации системы, git config --edit --system

2. Глобальный уровень (ценности, специфичные лично для вас, пользователя.)

  • смотреть, git config --list --global
  • установить, git config --global user.name xyz
  • для редактирования глобального файла конфигурации, git config --edit --global

3. Уровень репозитория (специфический для этого единственного репозитория)

  • смотреть, git config --list --local
  • установить, git config --local core.ignorecase true( --localнеобязательно)
  • для редактирования файла конфигурации репозитория git config --edit --local( --localнеобязательно)

Как просмотреть все настройки?

  • Запустить git config --list, показывая системные , глобальные и (если внутри репозитория) локальные конфигурации
  • Выполнить git config --list --show-origin, также показывает исходный файл каждого элемента конфигурации

Как прочитать один конкретный конфиг?

  • Например, беги, git config user.nameчтобы получить user.name.
  • Вы также можете указать параметры --system, --global, --localчтобы прочитать это значение на определенном уровне.

Ссылка: 1.6 Начало работы - Первоначальная настройка Git


Спасибо, что ответили и подробно объяснили это.
Jebin Philipose

@sam Я внутри локального репо, задаю имя пользователя и адрес электронной почты. Но git push по-прежнему использует глобальное имя. Почему это?
CKM

18

Если вы хотите проверить или установить имя пользователя и адрес электронной почты, вы можете использовать следующую команду

Проверить имя пользователя

git config user.name

Установить имя пользователя

git config user.name "your_name"

Проверьте свою электронную почту

git config user.email

Установить / изменить адрес электронной почты

git config user.email "your@email.com"

Список / просмотреть всю конфигурацию

git config --list

Дополнительные сведения см. В официальном документе: help.github.com/en/github/using-git/…
Srikrushna

4

Иногда вышеуказанные решения не работают в macbook, чтобы получить имя пользователя и пароль.

ИДК почему ?, вот и другое решение.

$ git credential-osxkeychain get
host=github.com
protocol=https

this will revert username and password

2

Добавьте сюда мои два цента. Если вы хотите получить только user.name или user.email без подробного вывода.

На liunx введите git config --list | grep user.name.

В окнах введите git config --list | findstr user.name.

Это даст вам только имя пользователя.


0

Чтобы просмотреть тип конфигурации git -

git config --list

Чтобы изменить имя пользователя глобально, введите -

git config --global user.name "your_name"

Чтобы изменить электронную почту глобально, введите -

git config --global user.email "your_email"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.