Обратите внимание, что скоро (Q3 / Q4 2015) в git 2.6 появится возможность --name-onlyперечислять только ключи конфигурации без их значений. Смотрите мой ответ ниже
Спасибо, я проголосовал за вас обоих. Я хотел бы знать git config --listкоманду , потому что я могу смотреть на эффективной конфигурации в хранилище , и я могу отличаться локальной, глобальной и конфигурации системы с соответствующим параметром ( --global, --local, --system). Я приму ваш ответ, как только смогу, потому что вы были на несколько секунд быстрее :)
wullxz
2
Будьте осторожны, есть много потенциальных источников для конфигурации git. Просмотр файла дает только часть. Ответ @ linquize на самом деле правильный.
vonbrand
2
@vonbrand: --list эквивалентен -l.
Кэмерон Скиннер
9
Сокращения (например -l) могут пригодиться, когда вы станете опытным пользователем и будете использовать эту функцию достаточно часто, чтобы фактически получить прибыль от ввода меньшего количества символов. Мне легче найти и запомнить длинный --listвариант. Для менее очевидных сокращений мне часто приходится проверять, что они обозначают, поэтому я предпочитаю длинные имена. Они даже проще, с завершением команды, когда вам не нужно вводить все символы, но вы видите полное имя опции.
Кшиштоф Яблонский
1
Что делать, если git config --listничего не печатает?
Matej J
247
Кратчайший,
git config -l
показывает все унаследованные значения из: системного, глобального и локального
Это отличается от git config --list , или это просто более короткий способ написать это?
Magnilex
8
@Magnilex это просто более короткий способ написать это
LemenDrop
3
Файлы конфигурации могут не всегда отображать все унаследованные конфигурации, но git config -lбудут отображать все. Спас меня, потому что git для windows устанавливает autocrlfпри установке, и его нет ни в одном конфигурационном файле, который я могу найти.
Geneorama
да, есть также файл C: \ ProgramData \ Git \ config - я предполагаю, что это глобальный или системный конфигурационный файл git
Alex
129
Как мне отредактировать мою глобальную конфигурацию Git?
Короткий ответ: git config --edit --global
Чтобы понять конфигурацию Git, вы должны знать, что:
Переменные конфигурации Git могут храниться на трех разных уровнях. Каждый уровень переопределяет значения на предыдущем уровне.
1. Системный уровень (применяется ко всем пользователям в системе и всем их репозиториям)
для просмотра, git config --list --system(может понадобиться sudo)
установить, git config --system color.ui true
редактировать файл конфигурации системы, git config --edit --system
2. Глобальный уровень (ценности, специфичные лично для вас, пользователя).
Вы намеревались ~/.gitconfigили один из других файлов, упомянутых в разделе FILES git help config?
chwarr
1
@chwarr - Извините, я не понимаю. Я "собирался"?
Ладья
1
Я думаю, что вы хотели сказать «я обычно просто открываюсь ~/.gitconfig», поскольку git не ищет .gitconfigв текущем каталоге, независимо от того, где вы находитесь. ( .gitconfigи ~/.gitconfigназывают разные файлы [ обычно ].) Другие файлы, упомянутые в, git help configимеют разные имена файлов, отсюда и предположение.
chwarr
32
Вы также можете позвонить, 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.)
config: добавить --name-onlyопцию ' ' для отображения только имен переменных
' git config' может отображать только значения или пары имя-значение, поэтому если сценарию оболочки требуются имена установленных переменных конфигурации, он должен выполнить ' git config --list' или ' --get-regexp' и проанализировать выходные данные, чтобы отделить имена переменных конфигурации от их значений.
Тем не менее, такой анализ не может справиться с многострочными значениями.
Хотя ' git config' может выдавать вывод с нулевым символом в конце для безопасного анализа новой строки, в этом случае это бесполезно, поскольку оболочки не могут справиться с нулевыми символами.
Даже наш собственный скрипт завершения bash страдает от этих проблем.
Помогите сценарию завершения и сценариям оболочки в целом, введя --name-onlyопцию ' ' для изменения вывода --list'и' --get-regexp, чтобы перечислять только имена переменных конфигурации, чтобы им не приходилось выполнять подверженную ошибкам постобработку в отделяйте имена переменных от их значений.
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 - это удобная функция, которая используется для установки значений конфигурации Git на глобальном или локальном уровне проекта. Эти уровни конфигурации соответствуют текстовым файлам .gitconfig. Подробнее читайте здесь: atlassian.com/git/tutorials/setting-up-a-repository/git-config
system rebase.autosquash=true
system credential.helper=helper-selector
global core.editor='code.cmd' --wait -n
global merge.tool=kdiff3
local core.symlinks=false
local core.ignorecase=true
Может сочетаться с
--localдля конфигурации проекта, --globalдля конфигурации пользователя, --system для всех пользователей
--show-origin чтобы показать точное местоположение файла конфигурации
--name-only
перечислять только ключи конфигурации без их значений. Смотрите мой ответ ниже$ git config --list
Проверка ваших настроекgit config --global --list
как объяснено глубже здесьОтветы:
Ты можешь использовать:
или посмотрите на ваш
~/.gitconfig
файл. Локальная конфигурация будет в.git/config
файле вашего репозитория .Использование:
чтобы увидеть, где определен этот параметр (глобальный, пользовательский, репо и т. д.)
источник
git config --list
команду , потому что я могу смотреть на эффективной конфигурации в хранилище , и я могу отличаться локальной, глобальной и конфигурации системы с соответствующим параметром (--global
,--local
,--system
). Я приму ваш ответ, как только смогу, потому что вы были на несколько секунд быстрее :)-l
) могут пригодиться, когда вы станете опытным пользователем и будете использовать эту функцию достаточно часто, чтобы фактически получить прибыль от ввода меньшего количества символов. Мне легче найти и запомнить длинный--list
вариант. Для менее очевидных сокращений мне часто приходится проверять, что они обозначают, поэтому я предпочитаю длинные имена. Они даже проще, с завершением команды, когда вам не нужно вводить все символы, но вы видите полное имя опции.git config --list
ничего не печатает?Кратчайший,
показывает все унаследованные значения из: системного, глобального и локального
источник
git config -l
будут отображать все. Спас меня, потому что git для windows устанавливаетautocrlf
при установке, и его нет ни в одном конфигурационном файле, который я могу найти.Короткий ответ:
git config --edit --global
Чтобы понять конфигурацию 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
чтобы прочитать это значение на определенном уровне.Ссылка: 1.6 Начало работы - первая настройка Git
источник
git config --list
показать все глобальное, системное и локальное?git config --list --show-origin
чтобы узнать происхождение каждого элемента конфигурации.это один из способов пойти. Я обычно просто открываюсь,
.gitconfig
хотя.источник
~/.gitconfig
или один из других файлов, упомянутых в разделе FILESgit help config
?~/.gitconfig
», поскольку git не ищет.gitconfig
в текущем каталоге, независимо от того, где вы находитесь. (.gitconfig
и~/.gitconfig
называют разные файлы [ обычно ].) Другие файлы, упомянутые в,git help config
имеют разные имена файлов, отсюда и предположение.Вы также можете позвонить,
git config -e
чтобы открыть файл конфигурации в вашем редакторе напрямую. Файл конфигурации Git намного более читабелен, чем-l
вывод, поэтому я всегда склонен использовать-e
флаг.Итак, подведем итог:
.git/config
.--global
ним взаимодействует~/.gitconfig
.--system
этим взаимодействует$(prefix)/etc/gitconfig
.(Я действительно не мог найти, что
$(prefix)
значит, но, похоже, по умолчанию$HOME
.)источник
Вы также можете использовать
cat ~/.gitconfig
.источник
Git 2.6 (сентябрь / октябрь 2015 г.) добавит возможность
--name-only
упростить выводgit config -l
:Смотрите коммит a92330d , коммит f225987 , коммит 9f1429d (20 августа 2015 г.) Джеффа Кинга (
peff
) .См. Коммит ebca2d4 (20 августа 2015 г.) и коммит 905f203 , коммит 578625f (10 августа 2015 г.) от SZEDER Gábor (
szeder
) .(Слиты Junio C Hamano -
gitster
- в фиксации fc9dfda , 31 августа 2015)источник
Одна важная вещь о
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. Что-то вроде:
источник
В системах на основе Linux вы можете просматривать / редактировать файл конфигурации
Убедитесь, что вы находитесь в папке Git init.
Если вы хотите работать
--global config
, этона / home / userName
Это должно помочь с редактированием: https://help.github.com/categories/setup/
источник
Чтобы найти все конфигурации, вы просто пишете эту команду:
В моем местном я запускаю эту команду.
источник
Начиная с Git 2.26.0 , вы можете использовать
--show-scope
опцию:Пример вывода:
Может сочетаться с
--local
для конфигурации проекта,--global
для конфигурации пользователя,--system
для всех пользователей--show-origin
чтобы показать точное местоположение файла конфигурацииисточник