Git
конфигурация
Поиск…
Синтаксис
- git config [<file-option>] name [значение] # один из наиболее распространенных вариантов использования git config
параметры
параметр | подробности |
---|---|
--system | Редактирует общесистемный файл конфигурации, который используется для каждого пользователя (в Linux этот файл находится в $(prefix)/etc/gitconfig ) |
--global | Редактирует глобальный файл конфигурации, который используется для каждого репозитория, над которым вы работаете (в Linux этот файл находится в ~/.gitconfig |
--local | Редактирует конфигурационный файл для репозитория, который находится в .git/config в вашем репозитории; Это значение по умолчанию |
Имя пользователя и адрес электронной почты
Сразу после установки Git первое, что вам нужно сделать, это установить свое имя пользователя и адрес электронной почты. Из оболочки введите:
git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
-
git config
- команда для получения или установки параметров -
--global
означает, что файл конфигурации, специфичный для вашей учетной записи пользователя, будет отредактирован -
user.name
иuser.email
являются ключами для переменных конфигурации;user
- это раздел файла конфигурации.name
иemail
являются именами переменных. -
"Mr. Bean"
и[email protected]
- это значения, которые вы сохраняете в двух переменных. Обратите внимание на цитаты вокруг"Mr. Bean"
, которые требуются, потому что ценность, которую вы храните, содержит пробел.
Несколько конфигураций git
У вас есть до 5 источников для конфигурации git:
- 6 файлов:
-
%ALLUSERSPROFILE%\Git\Config
(только для Windows) - (система)
<git>/etc/gitconfig
, причем<git>
является способом установки git.
(в Windows это<git>\mingw64\etc\gitconfig
) - (система)
$XDG_CONFIG_HOME/git/config
(только для Linux / Mac) - (глобальный)
~/.gitconfig
(Windows:%USERPROFILE%\.gitconfig
) - (локальный)
.git/config
(в пределах git repo$GIT_DIR
) - выделенный файл (с
git config -f
), используемый, например, для изменения конфигурации подмодулей:git config -f .gitmodules ...
-
- командная строка с
git -c
:git -c core.autocrlf=false fetch
переопределит любой другойcore.autocrlf
наfalse
, только для этой командыfetch
.
Порядок важен: любая конфигурация, установленная в одном источнике, может быть переопределена источником, указанным ниже.
git config --system/global/local
- команда для перечисления 3 из этих источников, но только git config -l перечисляет все разрешенные конфиги.
«разрешено» означает, что он содержит только окончательное переопределенное значение конфигурации.
Поскольку git 2.8, если вы хотите узнать, какая конфигурация исходит из какого файла, вы вводите:
git config --list --show-origin
Настройка того, какой редактор использовать
Существует несколько способов установить, какой редактор использовать для фиксации, перезагрузки и т. Д.
Измените настройку конфигурации
core.editor
.$ git config --global core.editor nano
Установите переменную среды
GIT_EDITOR
.Для одной команды:
$ GIT_EDITOR=nano git commit
Или для всех команд, выполняемых в терминале. Примечание. Это применимо только до закрытия терминала.
$ export GIT_EDITOR=nano
Чтобы изменить редактор для всех терминальных программ, а не только Git, установите
EDITOR
средыVISUAL
илиEDITOR
. (См.VISUAL
vsEDITOR
.)$ export EDITOR=nano
Примечание. Как и выше, это относится только к текущему терминалу; у вашей оболочки обычно будет файл конфигурации, который позволит вам установить его навсегда. (В
bash
, например, добавьте вышеприведенную строку в ваш~/.bashrc
или~/.bash_profile
.)
Некоторые текстовые редакторы (в основном графические интерфейсы) будут запускать только один экземпляр за раз и обычно уходят, если у вас уже есть экземпляр из них. Если это относится к вашему текстовому редактору, Git напечатает сообщение Aborting commit due to empty commit message.
не позволяя сначала редактировать сообщение о фиксации. Если это произойдет с вами, обратитесь к документации вашего текстового редактора, чтобы узнать, есть --wait
флаг --wait
(или аналогичный), который заставит его приостановить до закрытия документа.
Настройка окончаний строки
Описание
При работе с командой, которая использует различные операционные системы (ОС) по всему проекту, иногда вы можете столкнуться с проблемами при работе с окончанием строки.
Майкрософт Виндоус
При работе с операционной системой Microsoft Windows (OS) окончание строк обычно имеет форму - возврат каретки + линия (CR + LF). Открытие файла, который был отредактирован с использованием Unix-машины, такой как Linux или OSX, может вызвать проблемы, поэтому кажется, что текст вообще не имеет окончаний строки. Это связано с тем, что системы Unix применяют только линейные конвейеры фидов линейных каналов (LF).
Чтобы исправить это, вы можете запустить следующую инструкцию
git config --global core.autocrlf=true
В процессе проверки эта команда гарантирует, что контуры строк будут настроены в соответствии с ОС Microsoft Windows (LF -> CR + LF)
Unix на основе (Linux / OSX)
Точно так же могут возникнуть проблемы, когда пользователь на ОС на основе Unix пытается прочитать файлы, которые были отредактированы в ОС Microsoft Windows. Чтобы предотвратить непредвиденные проблемы
git config --global core.autocrlf=input
При фиксации это изменит окончание строки из CR + LF -> + LF
настройка только для одной команды
вы можете использовать -c <name>=<value>
чтобы добавить конфигурацию только для одной команды.
Для фиксации в качестве другого пользователя без изменения настроек в .gitconfig:
git -c user.email = mail@example commit -m "some message"
Примечание: для этого примера вам не нужно точно user.name
как user.name
и user.email
, git завершит отсутствующую информацию из предыдущих коммитов.
Настройка прокси
Если вы находитесь за прокси-сервером, вы должны сказать git об этом:
git config --global http.proxy http://my.proxy.com:portnumber
Если вы больше не находитесь за прокси-сервером:
git config --global --unset http.proxy
Автоматическое исправление опечаток
git config --global help.autocorrect 17
Это позволяет автокорректировать в git и простит вам за ваши незначительные ошибки (например, git stats
вместо git status
). Параметр, который вы help.autocorrect
для help.autocorrect
определяет, как долго система должна ждать в десятые доли секунды, прежде чем автоматически применить команду автокоррекции. В приведенной выше команде 17 означает, что git должен ждать 1,7 секунды, прежде чем применять команду автокоррекции.
Тем не менее, большие ошибки будут рассматриваться как недостающие команды, поэтому git testingit
чего-то типа git testingit
приведет к git testingit
что testingit is not a git command.
Перечислите и отредактируйте текущую конфигурацию
Git config позволяет вам настроить, как работает git. Он обычно используется для установки вашего имени, электронной почты или любимого редактора или того, как должны выполняться слияния.
Чтобы просмотреть текущую конфигурацию.
$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...
Чтобы отредактировать конфигурацию:
$ git config <key> <value>
$ git config core.ignorecase true
Если вы намерены изменить это для всех своих хранилищ, используйте --global
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi
Вы можете снова перечислить свои изменения.
Несколько имен пользователей и адрес электронной почты
Поскольку Git 2.13, несколько имен пользователей и адреса электронной почты можно настроить с помощью фильтра папок.
Пример для Windows:
.gitconfig
Изменить: git config --global -e
Добавлять:
[includeIf "gitdir:D:/work"]
path = .gitconfig-work.config
[includeIf "gitdir:D:/opensource/"]
path = .gitconfig-opensource.config
Заметки - Заказ зависит от последнего, который соответствует «победам».
-
/
в конце необходимо - например,"gitdir:D:/work"
не будет работать. -
gitdir:
префиксgitdir:
.gitconfig-work.config
Файл в том же каталоге, что и .gitconfig
[user]
name = Money
email = [email protected]
.gitconfig-opensource.config
Файл в том же каталоге, что и .gitconfig
[user]
name = Nice
email = [email protected]
Пример для Linux
[includeIf "gitdir:~/work/"]
path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
path = .gitconfig-opensource
Содержимое файла и примечания в разделе Windows.