Куда записывается git config --global?

Когда используешь git config --global чтобы настроить, в какой файл он будет записывать?

Пример:

git config --global core.editor "blah"

Я не могу найти это в этих местах:

C:\Program Files\Git\etc\gitconfig

C:\myapp\.git\config

Я не установил ENV?

Моя версия Git: 1.6.5.1.1367.gcd48 - для Windows 7

20 ответов

Решение

Обновление 2016: с git 2.8 (март 2016) вы можете просто использовать:

git config --list --show-origin

Вы увидите, какой конфиг установлен, где.
Смотрите " Откуда берутся настройки в моей конфигурации Git? "

Как отмечает Steven Vascellaro в комментариях,

он будет работать с нестандартными местами установки. (т.е. Git Portable)

(как последний PortableGit-2.14.2-64-bit.7z.exe, который можно распаковать куда угодно)


Оригинальный ответ (2010)

Из документов:

--Глобальный

Для написания опций: пишите в глобальный ~/.gitconfig файл, а не хранилище .git/config,

Поскольку вы используете Git для Windows, может быть неясно, какому местоположению это соответствует. Но если вы посмотрите на etc/profile (в C:\Program Files\Git), вот увидишь:

HOME="$HOMEDRIVE$HOMEPATH"

Имея в виду:

C:\Users\MyLogin

(в Windows 7)

Это означает, что файл находится в C:\Users\MyLogin\.gitconfig для Git в Windows 7.

Я также искал глобальный .gitconfig на моей машине с Windows и нашел этот хитрый трюк с помощью git.

Сделать: git config --global -e а затем, если вам повезет, вы получите текстовый редактор с вашей глобальной .gitconfig файл. Просто найдите папку оттуда (или попробуйте сохранить как...) и так далее!:-)

На * никсах, это в ~/.gitconfig, Есть ли соответствующий файл в вашем доме?

В Windows вы можете ввести git bash

notepad ~/.gitconfig

Пути для msysgit:

Windows XP -C:\Documents and Settings\<user_name>\.gitconfig

Windows Vista + C:\Users\<user_name>\.gitconfig

Глобальное расположение определяется в Windows MsysGit с использованием переменных среды HOMEDRIVE и HOMEPATH, если только вы не определили переменную среды HOME. Это подробно описано в скрипте профиля.

В моей корпоративной среде HOMEDRIVE - это H:, который затем сопоставляется с сетевым URL \\share\$. Затем вся партия отображается как "Мои документы", чего не ожидают другие. Возможно, возникли некоторые дальнейшие проблемы с переназначением диска на URL. Я даже не могу настроить переменные HOMEDRIVE или HOMEPATH.

В моем случае я определил личную переменную среды HOME и указал ее на D:\git\GitHOME и скопировал все эти файлы GIT (которые имеют расширение и не имеют) в каталог GitHOME для безопасного хранения.

Переменные среды Windows можно установить на вкладке "Дополнительно" диалогового окна свойств "Мой компьютер".

Когда создается глобальный файл.gitconfig?

Во-первых, git не создает файл глобальной конфигурации (.gitconfig) автоматически во время установки. Файл не создается, пока он не будет записан в первый раз. Если вы никогда не устанавливали системную переменную, она не будет в вашей файловой системе. Я предполагаю, что это может быть источником проблемы.

Один из способов попросить Git создать его - запросить редактирование. Это приведет к созданию файла.

git config --global --edit

Если вы контролируете домашнюю папку пользователя при выполнении этой команды, вы увидите, что файл.gitconfig волшебным образом появляется.

Где хранится конфигурация git?

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

  • Конфигурация System Git: файл с именем gitconfig находится в -git-install-location- / ming<32>/ etc
  • Global Git configuraiton: файл с именем .gitconfig, расположенный в домашней папке пользователя (C:\Users\git user)
  • Локальная конфигурация Git: файл с именем config в папке.git локального репозитория.

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

Расположение файла конфигурации Windows Git (TheServerSide.com)

Расположение файлов конфигурации Git

Как отметил @MatrixFrog в своем комментарии, если цель состоит в том, чтобы отредактировать конфигурацию, вы можете запустить:

git config --global --edit

Эта команда откроет файл конфигурации (в данном случае --global one) в выбранном редакторе и дождитесь закрытия файла (как во время git rebase -i).

Если вы используете TortoiseGit на ПК с Windows, вы можете использовать:

Settings / Git / Config / Edit global .gitconfig

открыть глобальный файл.gitignore.

Но если вы используете свой компьютер с Windows (7) в домене, каталог вашего профиля может быть сетевым ресурсом (смонтированным как диск). В этом случае TortoiseGit (по крайней мере:1.6.5.0) указывает вам на неправильный каталог (на c:...). См. Закрытый выпуск TortoiseGit 922 для получения дополнительной информации. Или используя%HOMEDRIVE%%HOMEPATH%, чтобы открыть каталог, содержащий файл.gitignore.

Я использую SmartGit с msysgit в Windows 8.1 и заметил, что для gitconfig файл:

%USERPROFILE%\.gitconfig
C:\Program Files (x86)\Git\etc\gitconfig
C:\Program Files (x86)\SmartGitHg\git\etc\gitconfig

Но тот, который используется, тот из %USERPROFILE%\.gitconfig,

Просто полностью согласитесь с ответом @ user1106996 здесь, на этой странице, выше о том, когда создается глобальный файл? (это явно относится к каждой ОС). Остальная часть его ответа касается систем Win7.

В системах Win10 глобальный файл будет создаваться впервые только тогда, когда вы склонны устанавливать user.name& user.emailсистемные переменные через командную строку Windows.
Как только он будет установлен, файл будет создан в %USERPROFILE%реж.

Команда ниже работает для Win и MacOS, как

Итак, допустим, если .gitconfigФайл уже существует. Вы можете узнать его местоположение через командную строку/Gitbash/терминал:

      git config --global --list --show-origin

Может быть полезно отметить (для *nix-платформ): некоторые типы глобальной конфигурации / информации git хранятся в /usr/share/git-core/такие как скрипты автозавершения git и следующие (по умолчанию) хуки:

  • applypatch-сообщ
  • после обновления
  • перед фиксацией
  • подготовка фиксации-сообщ
  • совершить-сообщ
  • предварительно applypatch
  • предварительно перебазироваться
  • Обновить

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

Вы можете найти его с помощью следующей команды

git config --list --show-origin

У меня также была проблема с моим глобальным .gitconfigЭто на тот случай, если у кого-то тоже есть такое

мерзавец сказал:

Неустранимо: при чтении файлов конфигурации произошла неизвестная ошибка

Теперь я исправил это. Проблема была вторая .gitconfig в этой папке:

C:\Users\myUser.config\ мерзавец \ Config

Я не знаю, откуда она взялась... Но теперь все снова работает как шарм.

Я использую Windows 7 и использую git для настройки, следуя инструкциям на GitHub (год или два назад). Я бы подумал, что это довольно распространенный вариант использования. Ни один из приведенных выше ответов мне не помог, и после большого разочарования я в конце концов нашел свой "настоящий" файл gitconfig в следующем каталоге;

C: \ Users \ Bill \ AppData \ Local \ GitHub \ PortableGit_054f2e797ebafd44a30203088cd 3d58663c627ef \ etc

Очевидно, подставьте свое имя пользователя и предположительно суффикс после того, как PortableGit_ будет уникальным GUID или подобным.

Я думаю, что важно опубликовать эту цитату:

Git для Windows поддерживает четыре уровня конфигурации. На самом низком уровне находятся параметры конфигурации, относящиеся к конкретной машине, которые называются "портативными" и имеют значение "%ProgramData%\Git\config". Один уровень приоритета - это настройки конфигурации, известные как "system", которые находятся по адресу "\mingw64\etc\gitconfig". Оба эти файла конфигурации, как правило, требуют повышенных привилегий для изменения.

Начиная с использования определенных значений, известных как "глобальная" конфигурация, которую можно найти по адресу "%UserProfile%.gitconfig", мы находим "редактируемые пользователем" файлы конфигурации. Настройки конфигурации с наивысшим приоритетом находятся в "локальной" конфигурации, которую обычно можно найти в ".git\config".

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

Надеюсь, люди найдут эту информацию полезной.

источник

У меня была похожая проблема; проблема заключалась в том, что .gitconfig файл был расположен в

C:\Users\MyLogin\.gitconfig\

(в Windows 7)

Другими словами, файл был расположен в C:\Users\MyLogin\.gitconfig\.gitconfig вместо C:\Users\MyLogin\.gitconfig (где Git искал файлы).

Удалите Msysgit и установите Cygwin + Git. Тогда глобальный ".gitconfig" будет здесь: C:\cygwin(64)\home\[userName]\. Gitconfig.

Теперь вам не нужно беспокоиться о переменной окружения, которая может использоваться другими программами. Например, моя переменная окружения указала мне на подключенный диск в моей рабочей среде домена Windows. Я не хочу, чтобы мой глобальный.gitconfig сидел на моем "домашнем" подключенном диске. Я также не знаю, что может случиться с другими приложениями, которые могут полагаться на эту переменную среды Windows. Операционному подразделению может потребоваться установить эту переменную среды для сопоставленного диска по причине.

Также вам не нужно беспокоиться о том, что Mysysgit перезаписывает настройки конфигурации вашего "профиля", если вы указываете конкретный путь к глобальному ".gitconfig", используя этот метод.

В общем, спасайтесь и используйте оболочку cygwin bash в windows и будьте счастливее

.gitconfig расположение файла

Тестирование macOS ОК

Глобальный

# global config
$ cd ~/.gitconfig

# view global config
$ git config --global -l

местный

# local config
$ cd .git/config

# view local config
$ git config -l


может быть бонус для тебяVim или VSCode для редактирования git config


# open config with Vim

# global config
$ vim ~/.gitconfig

# local config
$ vim .git/config


# open config with VSCode

# global config
$ code ~/.gitconfig

# local config
$ code .git/config

Я установил свой Git в: C:\Users\_myuserfolder_\AppData\Local\Programs\Git

git help config

Раздел файлов имеет подробное описание.

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