Git config имя пользователя и адрес электронной почты автоматически устанавливаются пустыми

У меня проблемы с моей глобальной конфигурацией git. И имя пользователя, и адрес электронной почты автоматически устанавливаются пустыми. Я не могу понять, есть ли закономерность в этом поведении, но чаще всего git говорит мне установить имя пользователя и адрес электронной почты, когда я пытаюсь сделать коммит. Обновление с помощью git config --global или непосредственное редактирование моего файла .gitconfig работают, но через некоторое время они снова исчезают.

Содержимое файла до сброса:

[user]
    name = <name>
    email = <email>
[core]
    editor = atom --wait
    excludesfile = /Users/christian/.gitignore_global
[pull]
    rebase = false

Содержимое файла после сброса:

[user]
    name = 
    email = 
[core]
    editor = atom --wait
    excludesfile = /Users/christian/.gitignore_global
[pull]
    rebase = false

Поскольку git config --global работает путем записи в ваш глобальный .gitconfig файл, любое другое действие, которое уничтожит этот файл (или вернет его старое содержимое), отменит настройку. Ищите вещи, которые изменяют файлы. Например, наличие вашего домашнего каталога в каком-либо сервисе обмена файлами / веб-синхронизации, как и команды запуска входа в систему, которые стирают и сбрасывают всю конфигурацию.

torek 22.12.2020 02:29

Вы не сходите с ума, у меня точно такая же проблема на моем Mac (11.0.1), где значения name = и email = исчезают из раздела [user] моего .gitconfig. Любопытно, что signingkey = xxxxx остался нетронутым, как и остальная часть файла.

Brendon Whateley 21.01.2021 19:01

Вы используете Атом? У меня та же проблема, и я подозреваю, что Atom может быть виноват, но я все еще расследую

Isaac Betesh 27.01.2021 00:56

@IsaacBetesh Я действительно использую атом, но не для взаимодействия с git. Я все это делаю в Терминале.

Christian Olsen 28.01.2021 01:02

@IsaacBetesh Я также использую Atom и сегодня впервые столкнулся с этой проблемой. Есть идеи? Что заставило вас заподозрить Atom?

David S. 28.01.2021 12:14

Мои подозрения были правильными. Это вызвано переключением между двумя вкладками в Atom, если они содержат файлы из разных репозиториев. Закрытие вкладки, если оно приводит к тому, что вкладка из другого репо становится активной, также может вызвать это. Об этом уже сообщили атому: github.com/atom/github/issues/2558

Isaac Betesh 28.01.2021 21:23
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
6
1 926
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В дополнение к проверке того, что может удалить вашу ~/.gitconfig глобальную конфигурацию Git, также проверьте, установлено ли git config user.useConfigOnly значение true.

Начиная с Git 2.8 это также заставит вас устанавливать свое имя пользователя/адрес электронной почты для каждого репозитория.

Вы также увидите эффект этой конфигурации в сообщении об ошибке:

no name was given and auto-detection is disabled
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Если нет, то он возвращается, чтобы проверить, если у вас есть проблема, ваш глобальный .gitconfig удален или как-то изменен/сброшен.

user.useConfigOnly не установлен в моей конфигурации. Также сбрасывается только часть [user] моего ~/.gitconfig. Есть раздел [core], который всегда остается нетронутым.

Christian Olsen 23.12.2020 02:59

@ChristianOlsen Этот ~/.gitconfig удаляется, когда вам нужно обновить свое имя пользователя/адрес электронной почты?

VonC 23.12.2020 09:44

@ChristianOlsen Был ли файл изменен тогда, когда ваше имя пользователя / адрес электронной почты пропало?

VonC 24.12.2020 01:07

Да! Это только что случилось снова. Проверяя ls -lc ~/.gitconfig, я вижу, что он был изменен. Любые советы о том, как я могу отследить ответственный процесс?

Christian Olsen 27.12.2020 05:45

@ChristianOlsen Каково его содержание при изменении?

VonC 27.12.2020 13:33

обновил мой исходный пост с содержимым файла.

Christian Olsen 29.12.2020 03:28

@ChristianOlsen поэтому значения сбрасываются на <пусто>. Установлена ​​или отключена какая-либо пользовательская переменная GIT_xxx в любой момент (как в git-scm.com/book/en/v2/…)

VonC 29.12.2020 03:38

Я не устанавливаю ни одну из этих переменных в любой момент. Обычно я просто использую стандартные команды git, например. git status, git add, git commit, git restore и т. д.

Christian Olsen 31.12.2020 20:20

Другие вопросы по теме