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

person Christian Olsen    schedule 22.12.2020    source источник
comment
Поскольку git config --global работает, записывая в ваш глобальный .gitconfig файл, все остальное, что уничтожает этот файл (или возвращает его к старому содержимому), отменяет настройку. Ищите то, что меняет файлы. Например, если бы ваш домашний каталог был в какой-то службе обмена файлами / веб-синхронизации, это могло бы сделать это, как и команды запуска входа в систему, которые стирают и сбрасывают всю конфигурацию.   -  person torek    schedule 22.12.2020
comment
Вы не сходите с ума, у меня точно такая же проблема на моем Mac (11.0.1), где значения name = и email = исчезают из раздела [user] моего .gitconfig. Любопытно, что signingkey = xxxxx остался нетронутым, как и остальная часть файла.   -  person Brendon Whateley    schedule 21.01.2021
comment
Вы используете Atom? У меня та же проблема, и я подозреваю, что виноват Атом, но я все еще расследую   -  person Isaac Betesh    schedule 27.01.2021
comment
@IsaacBetesh Я действительно использую атом, но не для каких-либо взаимодействий с git. Все это я делаю в Терминале.   -  person Christian Olsen    schedule 28.01.2021
comment
@IsaacBetesh Я тоже использую Atom и сегодня впервые столкнулся с этой проблемой. Любые идеи? Что заставило вас задуматься об Атоме?   -  person David S.    schedule 28.01.2021
comment
Мои подозрения оправдались. Это вызвано переключением между двумя вкладками в Atom, если они содержат файлы из разных репозиториев. Закрытие вкладки, если это приводит к тому, что вкладка из другого репо становится активной, также может вызвать это. Об этом уже было сообщено в Atom: github.com/atom/github/issues/2558   -  person Isaac Betesh    schedule 28.01.2021


Ответы (2)


Как подтверждено Исааком Бетешем, это проблема Atom, когда некоторые взаимодействия с вкладками из разных репозиториев уничтожают глобального пользователя / email config. Проблема находится по адресу: https://github.com/atom/github/issues/2558

Я временно решил проблему, удалив разрешение на запись из ~/.gitconfig

person Brendon Whateley    schedule 16.03.2021

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

Начиная с Git 2.8, это также заставит вас установить ваше user.name/email для каждого репозитория.

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

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

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

person VonC    schedule 22.12.2020
comment
user.useConfigOnly не установлен в моей конфигурации. Также сбрасывается только [user] часть моего ~/.gitconfig. Имейте [core] раздел, который всегда остается нетронутым. - person Christian Olsen; 23.12.2020
comment
@ChristianOlsen Это ~ / .gitconfig удален, когда вам нужно обновить ваше имя пользователя / адрес электронной почты? - person VonC; 23.12.2020
comment
нет, файл никогда не удаляется. - person Christian Olsen; 23.12.2020
comment
@ChristianOlsen Был ли файл изменен тогда, когда пропало ваше имя пользователя / адрес электронной почты? - person VonC; 24.12.2020
comment
Да! Это случилось снова. Проверяя ls -lc ~/.gitconfig, я вижу, что он был изменен. Есть какие-нибудь советы о том, как отследить ответственного за процесс? - person Christian Olsen; 27.12.2020
comment
@ChristianOlsen Что это за содержимое при изменении? - person VonC; 27.12.2020
comment
обновил мой исходный пост с содержанием файла. - person Christian Olsen; 29.12.2020
comment
@ChristianOlsen, поэтому значения сброшены на ‹empty›. Установлена ​​или отключена какая-либо GIT_xxx переменная пользователя (например, git-scm.com/book/en/v2/) - person VonC; 29.12.2020
comment
Я ни в коем случае не устанавливаю какие-либо из этих переменных. Обычно я использую стандартные команды git, например git status, git add, git commit, git restore и т. Д. - person Christian Olsen; 31.12.2020