1.6 Введение – Первоначальная настройка Git
Теперь, когда Git установлен в вашей системе, самое время настроить среду для работы с Git под себя. Это нужно сделать только один раз – при обновлении версии Git настройки сохранятся. Но, при необходимости, вы можете поменять их в любой момент, выполнив те же команды снова.
В состав Git входит утилита git config
, которая позволяет просматривать и настраивать параметры, контролирующие все аспекты работы Git, а также его внешний вид. Эти параметры могут быть сохранены в трёх местах:
- Файл
[path]/etc/gitconfig
содержит значения, общие для всех пользователей системы и для всех их репозиториев. Если при запускеgit config
указать параметр--system
, то параметры будут читаться и сохраняться именно в этот файл. Так как этот файл является системным, то для внесения в него изменений вам потребуются права суперпользователя. - Файл
~/.gitconfig
или~/.config/git/config
хранит настройки конкретного пользователя. Этот файл используется при указании параметра--global
и применяется ко всем репозиториям, с которыми вы работаете в текущей системе. - Файл
config
в каталоге Git (т.е..git/config
) репозитория, который вы используете в данный момент, хранит настройки конкретного репозитория. Вы можете заставить Git читать и писать в этот файл с помощью параметра--local
, но на самом деле это значение по умолчанию. Неудивительно, но, чтобы эта опция работала правильно, вам нужно находиться где-то в репозитории Git.
Настройки на каждом следующем уровне подменяют настройки из предыдущих уровней, то есть значения в .git/config
перекрывают соответствующие значения в [path]/etc/gitconfig
.
В системах семейства Windows Git ищет файл .gitconfig
в каталоге $HOME
(C:\Users\$USER для большинства пользователей). Кроме того, Git ищет файл [path]/etc/gitconfig
, но уже относительно корневого каталога MSys, который находится там, куда вы решили установить Git при запуске установщика.
Если вы используете Git для Windows версии 2.х или новее, то также обрабатывается файл конфигурации уровня системы, который имеет путь C:\Documents and Settings\All Users\Application Data\Git\config в Windows XP или C:\ProgramData\Git\config в Windows Vista и новее. Этот файл может быть изменён только командой git config -f <file>
, запущенной с правами администратора.
Чтобы посмотреть все установленные настройки и узнать где именно они заданы, используйте команду:
$ git config --list --show-origin
Имя пользователя
Первое, что вам следует сделать после установки Git – указать ваше имя и адрес электронной почты. Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Опять же, если указана опция --global
, то эти настройки достаточно сделать только один раз, поскольку в этом случае Git будет использовать эти данные для всего, что вы делаете в этой системе. Если для каких-то отдельных проектов вы хотите указать другое имя или электронную почту, можно выполнить эту же команду без параметра --global
в каталоге с нужным проектом.
Многие GUI-инструменты предлагают сделать это при первом запуске.
Выбор редактора
Теперь, когда вы указали своё имя, самое время выбрать текстовый редактор, который будет использоваться, если будет нужно набрать сообщение в Git. По умолчанию Git использует стандартный редактор вашей системы, которым обычно является Vim. Если вы хотите использовать другой текстовый редактор, например, Emacs, можно проделать следующее:
$ git config --global core.editor emacs
В системе Windows следует указывать полный путь к исполняемому файлу при установке другого текстового редактора по умолчанию. Пути могут отличаться в зависимости от того, как работает установщик.
В случае с Notepad++, популярным редактором, скорее всего вы захотите установить 32-битную версию, так как 64-битная версия ещё поддерживает не все плагины. Если у вас 32-битная Windows или 64-битный редактор с 64-битной системой, то выполните следующее:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Примечание
Vim, Emacs и Notepad++ – популярные текстовые редакторы, которые часто используются разработчиками как в Unix-подобных системах, таких как Linux и Mac, так и в Windows. Если вы используете другой редактор или его 32-битную версию, то за дополнительными инструкциями как использовать его совместно с Git обратитесь к разделу «Команды git config core.editor
» приложения C.
Предупреждение
В случае, если вы не установили свой редактор и не знакомы с Vim или Emacs, вы можете попасть в затруднительное положение, когда какой-либо из них будет запущен. Например, в Windows при попытке вызова редактора может произойти преждевременное прерывание команды Git.
Настройка ветки по умолчанию
Когда вы инициализируете репозиторий командой git init
, Git создаёт ветку с именем master
по умолчанию. Начиная с версии 2.28, вы можете задать другое имя для создания ветки по умолчанию.
Например, чтобы установить имя main
для вашей ветки по умолчанию, выполните следующую команду:
$ git config --global init.defaultBranch main
Проверка настроек
Если вы хотите проверить используемую конфигурацию, можете использовать команду git config --list
, чтобы показать все настройки, которые Git найдёт:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Некоторые ключи (названия) настроек могут отображаться несколько раз, потому что Git читает настройки из разных файлов (например, из /etc/gitconfig
и ~/.gitconfig
). В таком случае Git использует последнее значение для каждого ключа.
Также вы можете проверить значение конкретного ключа, выполнив git config <key>
:
$ git config user.name
John Doe
Примечание
Так как Git читает значение настроек из нескольких файлов, возможна ситуация когда Git использует не то значение что вы ожидали. В таком случае вы можете спросить Git об источнике этого значения. Git выведет имя файла, из которого значение для настройки было взято последним:
$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig false