Плохой git файл конфигурации .git/config - программирование
Подтвердить что ты не робот

Плохой git файл конфигурации .git/config

В моей репозитории git, всякий раз, когда я выполняю какие-либо команды git, такие как git status или git log, я получаю ошибку:
fatal: bad config file line 1 in .git/config
Как восстановить этот файл или новый?

4b9b3361

Ответ 1

Для тех, кто попадает в эту проблему (я считаю, из-за сбоя git mid init?) в Windows, если у вас есть недавняя резервная копия файла конфигурации из вашей папки git repo.git/, которую вы можете исправить его заменяя существующим с ним (любой ref добавлен, поскольку копия, очевидно, нуждается в повторном добавлении) - совсем не идеально, но лучше, чем потерять все коммиты.

Ответ 2

Я знаю, что в некоторых учебниках они просят вас ввести код ниже, но на самом деле они означают, что это команды, которые вы вводите в терминал: git config --global user.name "NewUser" git config --global user.email [email protected]

Если вы модифицировали файл ($ sudo nano ~/.gitconfig), вы можете поместить его в свой файл:

[user]
name = WilliamQLiu
email = [email protected]

Ответ 3

Моя проблема была связана с моей глобальной конфигурацией, для которой Git разрешено $HOME/.gitconfig, однако основная причина оказалась вне зависимости от местоположения.

> git config --global -l
fatal: bad config file line 1 in C:\Users\<user>/.gitconfig

У меня есть привычка связывать файлы конфигурации в моем домашнем каталоге с вложенным репозиторием Git для поддержки файлов в разных средах разработки. Оказывается, реализация Cygwin символической ссылки не имеет смысла для Git, запущенного под Windows.

Я изменил символическую ссылку на жесткую ссылку, и как-то это работает нормально. Я смог проверить это, открыв ссылку .gitconfig в Windows; при использовании символической ссылки файл содержит двоичные данные, однако файл с жесткой привязкой содержит контент, как ожидалось.

Ответ 4

Лучше выполнить две команды

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

в терминале. Это, в свою очередь, обновит конфигурационный файл.

Ответ 5

У меня была та же проблема (Notepad ++ показал только NULL символов в файле).

Мне удалось решить эту проблему, создав новое репо (в отдельной папке) с git init и копируя .git/config оттуда.

После этого отсутствовали удаленные устройства, но все работало после их ручного чтения.

Ответ 6

У меня тоже была такая же проблема, мне удалось исправить ее ниже.

  • удаленный файл .gitconfig с, c:\users [имя_пользователя] (созданная резервная копия не работает, но не нужна.)
  • перезапущено исходное дерево и файл- > Открыть → [ваш репозиторий].

Ответ 7

Я получаю тот же самый симптом. Я использую Cygwin в Windows, и когда я запускаю процесс "git clone", например, сообщение об ошибке "fatal: bad config line 1 in c:/cygwin/home/myhome/.getconfig"

Проблема заключается, очевидно, в имени файла, которое представляет собой сочетание между окнами c: и cygwin/unix.;-) Что вводит в заблуждение сообщение "строка 1", в то время как он должен сказать, что "файл конфигурации не найден".

Я не знаю, как это получается, поскольку у меня нет ни% HOMEPATH%, ни $HOME set

Ответ 8

У меня была такая же проблема сразу после первоначальной установки.

"fatal: неверная строка конфигурации 1 в файле C:\ProgramData/ Git/config"

Я открыл блокнот как администратор, перешел к файлу, указанному в сообщении об ошибке. Файл также был пустым, но у него были пробелы/вкладки, поэтому я удалил их, сохранил файл. И теперь он работает

Ответ 9

У меня была такая же проблема, что я открываю файл, и он содержит только нулевые символы. Просто удалите их, и они сработали.

Ответ 10

Для меня это сработало, когда я открыл папку config и удалил все нулевые символы в нем и снова сохранил файл. Затем я снова начал сборку, и git смог выполнить команды после этого.

Ответ 11

Для меня проблема была в том, что я отредактировал файл в приложении Mac TextEdit, которое по умолчанию настроено на преобразование "стандартных" двойных кавычек в "угловые" двойные кавычки.

В .git/config правильные двойные кавычки: "(UNICODE U + 0022 MARK QUOTATION MARK)

В моем случае я исправил следующую строку:

НЕПРАВИЛЬНО: [remote "origin"]

ПРАВИЛЬНО: [remote "origin"]

PS: Если вы хотите, чтобы Mac TextEdit "умно" не изменял двойные кавычки, перейдите в "Предпочтения" и снимите флажок "Умные кавычки".

Ответ 12

Если вы не установили переменную окружения GIT_CONFIG, ваш файл конфигурации называется .gitconfig и находится в вашем домашнем каталоге $HOME$ для систем * nix и %HOMEPATH% для Windows (C:\Users\MyName по умолчанию).

Источник

Ответ 13

Я получал эту ошибку в Windows 8.1 с клиентом GitHub для Windows 2.14. *

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

Открытие оболочки git и проверка состояния репозитория с помощью git status давала сообщение об ошибке fatal: bad config file ... at C:\Users\MyUser\AppData\Local\GitHub\PortableGit_xxxxx06exx6fdf878271f7fe636a147ff37326ad\etc\gitconfig

Итак, я удалил файл gitconfig на этом пути и закрыл git shell и git client. Запуск клиента git снова, и репозиторий возвращается в нормальное состояние.

Ответ 14

Я удалил .git/config в корень моей папки репозитория, потому что это неправильное имя файла конфигурации, которое было указано в сообщении об ошибке.

Затем я снова открыл SourceTree (это то, что я обычно использую), и все, кроме пультов, были там.

Ответ 15

В Windows у меня была такая же проблема: "fatal: bad config file line 1 в /home/user.name/.gitconfig". Я взял резервную копию, а затем удалил файл. Затем перешел в мой каталог для репозитория и теперь смог нормально выполнять команды git без ошибок.

Ответ 16

Для меня я открыл файл конфигурации и удалил все в нем. Я создал резервную копию хранилища и повторно клонировал репозиторий. Затем я вручную применил свои изменения в резервном хранилище.

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

Ответ 17

Лучшее, что они могут сделать, это скопировать все свои файлы на другом маршруте, кроме папки .git, затем сделать клон последнего коммита, которому удалось загрузить и вставить файлы, перемещенные на другой маршрут, чтобы они были перезаписаны и разрешили новый коммит.

Ответ 18

Для Cygwin он испортил мое имя пользователя в файле .gitconfig. Мое имя пользователя было создано как домен\имя пользователя и, очевидно, обратная косая черта экранирует 's'.

Итак, если после того, как вы git status вы получите это:

fatal: bad config line 2 in file /cygdrive/c/Users/yourname/.gitconfig

Затем сделайте это:

  1. vi/cygdrive/c/Users/yourname/.gitconfig
  2. Отредактируйте имя переменной, чтобы показать нормальное имя (например, Дональд Трамп)
  3. Отредактируйте переменную электронную почту, чтобы показать действительное значение электронной почты (например, [email protected])
  4. Отредактируйте переменную username, чтобы показать простое имя пользователя без обратной косой черты (то есть dtrump)

Так что приведенное выше предложение полезно... Прямо перед тем, как вы создадите свой git-репозиторий (git init), настройте эти переменные сразу:

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

Потому что значения по умолчанию, скорее всего, не верны.

Ответ 19

В Windows мне удалось просто скопировать конфигурационные файлы, находящиеся в C:\ProgramData\Git\config с другого компьютера. Это новое содержание стало тем, что показано ниже, которое заменило тарабарщину, которая была там раньше:

[core]
    symlinks = false
    autocrlf = true
    fscache = true
[color]
    diff = auto
    status = auto
    branch = auto
    interactive = true
[help]
    format = html
[rebase]
    autosquash = true

Ответ 20

Если ваш файл.gitconfig выглядит нормально (с правильными данными), вы можете скопировать и вставить в него те же данные, чтобы изменить дату редактирования файла. Казалось, это хорошо работает для меня. И просто чтобы избежать этой проблемы в будущем, сделайте резервную копию того же файла и сохраните его как "backup.gitconfig_bak" или любое другое имя, которое вам нравится.

Ответ 21

У меня была проблема с cygwin (парень делает cygwin испортить много задач по установке), и она ушла, когда я переключился на оболочку Windows

Ответ 22

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

Ответ 23

На Jenkins проверьте сообщение об ошибке для git-hash-string. Просто удалите /var/jenkins/home/caches/git-hash-string git-hash-string @tmp. Вам могут потребоваться права root для удаления всех файлов из папки git-hash-string/.git.

При перезапуске сборки все снова работает нормально.

Ответ 24

У меня была такая же проблема после того, как я изменил адрес электронной почты, который был в файле конфигурации. Я подписался на git, используя [email protected], затем git сгенерировал для меня письмо, например, [email protected]. Исходный адрес электронной почты в файле конфигурации был [email protected]. Смена адреса электронной почты, с которой я зарегистрировался [email protected], стала причиной проблемы. Чтобы решить эту проблему, я вошел в свою учетную запись git онлайн, зашел в раздел "Настройки", перешел в раздел "Электронная почта" и нашел в этом разделе сгенерированное GitHub письмо, которое выглядит следующим образом:

Primary email address Because you have email privacy enabled, [email protected] will be used for account-related notifications as well as password resets. [email protected] will be used for web-based Git operations (e.g. edits and merges).

С консоли запускаю sudo nano ~/.gitconfig Ввели пароль моего компьютера, затем изменили адрес электронной почты с [email protected] обратно на адрес электронной почты Github [email protected]. Затем нажмите (ctr + O), чтобы сохранить, затем нажмите ввод, затем нажмите (ctr + x), чтобы закрыть терминал. Чтобы убедиться, что это работает, я снова клонировал репо, используя git clone https://github.com/xxxxx, где xxxx - репо, и оно работало. :)

Ответ 25

Это может произойти, если вы вручную отредактируете файл .gitconfig. в C:\Users\.gitconfig (вы можете отредактировать его, используя Notepad++) откройте его и проверьте эти строки.

 [user]
        name = <your username>
        email = <your email>
    [core] 
        editor = <editor location>

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

Тогда сохраните это. (это может быть более полезным для пользователей Android-студии)

Ответ 26

Я также столкнулся с той же проблемой, поэтому я пошел к пути к файлу и c:\User\.gitconfig, удалил все содержимое и сохранил его. Сейчас работает $ git --version git версия 2.22.0.windows.1