Куда записывается 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)
Как отметил @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
- предварительно перебазироваться
- Обновить
Каждый из них может содержать свой собственный набор команд для выполнения во время, описанное их соответствующими именами файлов.
У меня также была проблема с моим глобальным .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