Я хочу показать все настроенные разделы Git.
Я нашел только git config --get core.editor
и хотел бы вывести все, что настроено глобально, а не только настроенный редактор по умолчанию.
Я хочу показать все настроенные разделы Git.
Я нашел только git config --get core.editor
и хотел бы вывести все, что настроено глобально, а не только настроенный редактор по умолчанию.
Вы можете использовать git config --list
или посмотреть свой файл ~/.gitconfig
. Локальная конфигурация будет в вашем файле репозитория .git/config
.
Используйте git config --list --show-origin
, чтобы увидеть, где определен этот параметр (глобальный, пользовательский, репо и т.д.)
Самый короткий,
git config -l
показывает все наследуемые значения из: system, global и local
git config --list
- это один из способов. Обычно я просто открываю .gitconfig
.
Как мне отредактировать мою глобальную конфигурацию Git?
Краткий ответ: git config --edit --global
Чтобы понять конфигурацию Git, вы должны знать, что:
Переменные конфигурации Git могут храниться на трех разных уровнях. Каждый уровень переопределяет значения на предыдущем уровне.
1. Системный уровень (применяется ко всем пользователям в системе и всем их репозиториям)
git config --list --system
(может потребоваться sudo
)git config --system color.ui true
git config --edit --system
2. Глобальный уровень (ценности, специфичные лично для вас, пользователя).
git config --list --global
git config --global user.name xyz
git config --edit --global
3. Уровень репозитория (специфичный для этого отдельного репозитория)
git config --list --local
git config --local core.ignorecase true
(--local
необязательно)git config --edit --local
(--local
необязательно)Как просмотреть все настройки?
git config --list
, показывая системный, глобальный и (если он находится внутри хранилища) локальные конфигиgit config --list --show-origin
, также покажет исходный файл каждого элемента конфигурацииКак мне прочитать одну конкретную конфигурацию?
git config user.name
, чтобы получить, например, user.name
.--system
, --global
, --local
для чтения этого значения на определенном уровне.Вы также можете вызвать git config -e
, чтобы напрямую открыть файл конфигурации в вашем редакторе. Файл конфигурации Git гораздо более читабелен, чем вывод -l
, поэтому я всегда склонен использовать флаг -e
.
Итак, подведем итог:
git config -l # List Git configuration settings (same as --list)
git config -e # Opens Git configuration in the default editor (same as --edit)
.git/config
.--global
он взаимодействует с ~/.gitconfig
.--system
он взаимодействует с $(prefix)/etc/gitconfig
.(Я действительно не мог найти, что означает $(prefix)
, но, похоже, по умолчанию это $HOME
.)
Вы также можете использовать cat ~/.gitconfig
.
Git 2.6 (сентябрь/октябрь 2015) добавит опцию --name-only
, чтобы упростить вывод git config -l
:
См. commit a92330d, commit f225987, commit 9f1429d (20 августа 2015 г.) Джефф Кинг (peff
).
См. commit ebca2d4 (20 августа 2015 г.) и совершить 905f203, совершить 578625f (10 августа 2015 г.) SZEDER Gábor (szeder
).
(слияние Юнио С Хамано - gitster
- в commit fc9dfda, 31 августа 2015)
config
: добавить '--name-only
', чтобы перечислять только имена переменных'
git config
' может показывать только значения или пары имя-значение, поэтому, если оболочка script нужны имена заданных конфигурационных переменных, которые он должен выполнить "git config --list
" или "--get-regexp
" и проанализировать вывод для разделения имен переменных конфигурации из их значений.
Однако такой синтаксический анализ не может справиться с многострочными значениями.Хотя '
git config
' может генерировать вывод с нулевым завершением для нового синтаксического анализа, который не используется в таком случае, поскольку оболочки не могут справиться с нулевыми символами.Даже наши собственные bash завершение script страдают от этих проблем.
Помогите завершить script и сценарии оболочки в целом, введя параметр '
--name-only
' для изменения вывода '--list
' и '--get-regexp
', чтобы перечислять только имена переменных конфигурации, поэтому они не должны выполнять обработку, подверженную ошибкам, для разделения имен переменных от их значений больше.
Одна важная вещь о git config
:
git config
имеет уровни --local
, --global
и --system
и соответствующие файлы.
Таким образом, вы можете использовать git config --local
, git config --global
и git config --system
.
По умолчанию git config
записывает на локальный уровень, если не передана опция конфигурации. Значения локальной конфигурации хранятся в файле, который можно найти в каталоге .git хранилища: .git/config
Конфигурация глобального уровня зависит от пользователя, то есть применяется к пользователю операционной системы. Глобальные значения конфигурации хранятся в файле, который находится в домашнем каталоге пользователя. ~/.gitconfig
в системах Unix и C:\Users\<username>\.gitconfig
в Windows.
Конфигурация на уровне системы применяется ко всей машине. Это касается всех пользователей операционной системы и всех репозиториев. Файл конфигурации системного уровня находится в файле gitconfig
вне корневого пути системы. $ (префикс)/etc/gitconfig в системах Linux.
В Windows этот файл можно найти в C:\ProgramData\Git\config
.
Поэтому вы можете найти этот глобальный файл .gitconfig
и отредактировать его.
Или вы можете использовать git config --global --list
.
Это именно то, что вам нужно.
Если вы просто хотите перечислить одну часть конфигурации Git, такую как псевдоним, core, remote и т.д., Вы можете просто передать результат через grep. Что-то вроде:
git config --global -l | grep core
В системах на основе Linux вы можете просматривать/редактировать файл конфигурации с помощью
vi/vim/nano .git/config
Убедитесь, что вы находитесь в папке Git init.
Если вы хотите работать с --global config
, это
vi/vim/nano .gitconfig
on/home/userName
Это должно помочь с редактированием: https://help.github.com/categories/setup/
Чтобы найти все конфигурации, вы просто пишете эту команду:
git config --list
В моем местном я запускаю эту команду.
Md [email protected] MINGW64 ~
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
[email protected]
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f