Первоначальная настройка 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. |
Предупреждение |
В случае, если вы не установили свой редактор и не знакомы с Vim или Emacs, вы можете попасть в затруднительное положение, когда какой-либо из них будет запущен. |
Настройка ветки по умолчанию
Когда вы инициализируете репозиторий командой 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 config
— вызов этой команды с именем конфигурации. При этом отобразится заданное для этого имени значение. Имена конфигурации представляют собой строку, состоящую из иерархической последовательности «раздела» и «ключа», разделенных точкой. Пример: user.email
В этом примере «email» является дочерним свойством блока конфигурации «user». Команда вернет адрес электронной почты (если таковой был указан), который Git свяжет с локально созданными коммитами.
Уровни и файлы git config
Прежде чем рассматривать использование git config
, поговорим немного об уровнях конфигурации. Чтобы указать уровень конфигурации, на котором производится работа, к команде git config
можно добавить аргументы. Доступны следующие уровни конфигурации:
--local
По умолчанию, если не были переданы параметры конфигурации, команда git config
будет вести запись на локальном уровне. Конфигурация локального уровня применяется к репозиторию, в котором вызывается команда git config
. Значения локальной конфигурации хранятся в файле, который находится в каталоге .git репозитория: .git/config
.
-
--global
Конфигурация глобального уровня зависит от пользователя, то есть применяется к пользователю операционной системы. Значения глобальной конфигурации хранятся в файле, который находится в домашнем каталоге пользователя. Это ~ /.gitconfig
в Unix-системах и C:\<имя_пользователя>\.gitconfig
в системах Windows.
-
--system
Конфигурация уровня системы применяется ко всей машине. Она охватывает всех пользователей операционной системы и все репозитории. Конфигурация уровня системы указывается в файле gitconfig
в корневой папке системы. В Unix-системах это $(prefix)/etc/gitconfig
, в системах Windows файл находится в C:\Documents and Settings\All Users\Application Data\Git\config
для Windows XP и в C:\ProgramData\Git\config
для Windows Vista и более новых версий.
Итак, порядок приоритета уровней конфигурации следующий: локальный, глобальный, системный. Это значит, что при поиске значения конфигурации система Git будет начинать с локального уровня и подниматься до уровня системы.
Запись значения
Для расширения знаний о git config
рассмотрим пример записи значения:
git config --global user.email "your_email@example.com"
В данном примере значение your_email@example.com
будет записано в имя конфигурации user.email
. Поскольку используется флаг --global
, значение будет задано для текущего пользователя операционной системы.
Редактор git config — core.editor
Многие команды Git запускают текстовый редактор, чтобы запросить дальнейший ввод информации. Один из наиболее частых примеров использования команды git config
— это настройка редактора, который должен применяться в Git. Ниже приведена таблица наиболее популярных редакторов и соответствующие команды git config
.
Редактор |
Команда config |
---|---|
Atom |
Команда config |
emacs |
Команда config |
nano |
Команда config |
vim |
Команда config |
Sublime Text (Mac) |
Команда config |
Sublime Text (Win, 32-разрядная версия) |
Команда config |
Sublime Text (Win, 64-разрядная версия) |
Команда config |
Textmate |
Команда config |
Инструменты слияния
При возникновении конфликта слияния Git запускает «инструмент слияния». По умолчанию в Git используется внутренняя реализация обычной Unix-программы diff. Внутренняя программа diff в Git представляет собой простейшее средство для просмотра конфликтов слияния. Вместо нее можно использовать любое другое стороннее решение для разрешения конфликтов. Обзор различных инструментов слияния и конфигурации см. в руководстве по советам и инструментам для решения конфликтов с помощью Git.
git config --global merge.tool kdiff3
Выделение выводимой информации цветом
Git поддерживает выделение выводимой в терминале информации различными цветами, что помогает быстро читать вывод Git. Для настройки вывода Git можно использовать индивидуальную цветовую тему. Для установки значений цветов используется команда git config
.
color.ui
Это основная переменная, влияющая на выделение цветом в Git. Если задать этой переменной значение false, выделение любой выводимой в терминале Git информации цветом будет отключено.
$ git config --global color.ui false
Значение переменной color.ui
по умолчанию равно auto. Это означает, что маркироваться цветом будет только непосредственный выходной поток терминала. Если же выходной поток перенаправляется в файл или передается другому процессу, то такой вывод цветом не маркируется.
Можно присвоить переменной color.ui
значение always. Тогда вывод будет выделяться цветом даже при перенаправлении выходного потока в файлы или конвейеры. Однако это может вызвать проблемы, поскольку принимающий конвейер может не ожидать, что входные данные будут иметь цветовую кодировку.
Значения цветов в Git
Помимо переменной color.ui
, доступны и более тонкие настройки цвета. Как и переменной color.ui
, эти цветовым настройкам можно присваивать значения false, auto или always. Кроме того, им можно присвоить конкретное значение цвета. Вот несколько примеров поддерживаемых значений цвета:
- normal
- black
- красный
- green
- yellow
- blue
- magenta
- cyan
- white
Цвет также можно указывать в виде шестнадцатеричного цветового кода, например #ff0000, или в виде одного из 256 цветовых значений ANSI, если ваш терминал их поддерживает.
Настройка цветовой конфигурации в Git
1. color.branch
- Настраивает цвет вывода команды git branch.
2. color.branch.
<слот
>
- Это значение также применяется к выводу команды git branch. Переменная <
слот
> может принимать одно из следующих значений:- 1) current: текущая ветка;
- 2) local: локальная ветка;
- 3) remote: ссылка на удаленную ветку в refs/remotes;
- 4) upstream: вышестоящая отслеживаемая ветка.
- 5) plain: любая другая ссылка.
3. color.diff
- Применяет цвета к выводу команд
git diff
,git log
иgit show
.
4. color.diff
.<слот
>
- Значение <
слот
> в параметреcolor.diff
указывает системе Git, в какой части команды diff использовать указанный цвет:- 1) context: текст контекста diff. Контекст Git — это строки текстового контекста в diff или patch, которые подсвечивают изменения;
- 2) plain: синоним контекста;
- 3) meta: применяет цвет к метаданным diff;
- 4) frag: применяет цвет к заголовку участка кода или к функции в заголовке участка кода;
- 5) old: окрашивает удаленные строки в diff;
- 6) new: окрашивает добавленные строки в diff;
- 7) commit: окрашивает заголовки коммитов в diff.
-
whitespace: задает в diff цвет для любых ошибок, связанных с пробелами.
5. color.decorate.
<слот
>
- Настройка цвета для вывода команды
git log --decorate
. Поддерживаемые значения параметра <слот
>:branch
,remoteBranch
,tag
,stash
илиHEAD
. Они применяются к локальным веткам, удаленным отслеживаемым веткам, тегам, отложенным изменениям и указателюHEAD
соответственно.
6) color.grep
- Применяет цвет к выводу команды git grep.
7. color.grep.
<слот
>
- Применяется также для команды git grep. Переменная <
слот
> указывает, к какой части вывода команды grep применить цвет:- 1) context: несоответствующий текст в строках контекста;
- 2) filename: префикс имени файла;
- 3) function: строки с именами функций;
- 4) linenumber: префикс номера строки;
- 5) match: соответствующий текст;
- 6) matchContext: соответствующий текст в строках контекста;
- 7) matchSelected: соответствующий текст в выбранных строках;
-
selected: несоответствующий текст в выбранных строках;
- 9) separator: разделители между полями в строке (:, -, и =) и между участками кода (—).
8. color.interactive
- Эта переменная задает цвет для интерактивных подсказок. Примеры:
git add --interactive
иgit clean --interactive
.
9. color.interactive.<слот
>
- Переменная <
слот
> используется для уточнения вида интерактивного вывода. Доступные значения переменной <слот
>: prompt, header, help, error; каждая из них действует на соответствующий вид интерактивного вывода (подсказку, заголовок, справочное сообщение, ошибку).
10) color.pager
- Включает или отключает выделение выводимой информации цветом при использовании пейджера.
11) color.showBranch
- Включает или отключает выделение выводимой информации цветом для команды git show-branch.
12. color.status
- Логическое значение, которое включает или отключает выделение выводимой информации цветом для команды git status.
13) color.status.<
слот
>
Используется для того, чтобы задать пользовательский цвет для указанных элементов git status. Переменная <слот
> поддерживает следующие значения:
1) header:
- указывает на текст заголовков в области состояния;
2) added или updated:
- оба значения указывают на файлы, которые были добавлены, но не зафиксированы в виде коммитов;
3) changed:
- указывает на файлы, которые были изменены, но не добавлены в индекс Git;
4) untracked:
- указывает на файлы, которые не отслеживаются системой Git;
5) branch:
- применяет цвет к текущей ветке.
6) nobranch:
- цвет предупреждения о том, что ветка отсутствует;
7) unmerged:
- окрашивает файлы, в которых есть неслитые изменения.
Псевдонимы
Концепция псевдонимов может быть вам знакома по командной строке операционной системы. Если нет, то знайте, что псевдонимы — это пользовательские сокращенные команды, которые расширяются до более длинных или комбинированных команд. Псевдонимы экономят время и силы на ввод часто используемых команд. Git предоставляет собственную систему псевдонимов. Чаще всего псевдонимы Git используются для сокращения команды commit. Псевдонимы хранятся в файлах конфигурации Git. Это значит, что для настройки псевдонимов можно использовать команду git config
.
git config --global alias.ci commit
В этом примере создается псевдоним ci для команды git commit
. После этого вы сможете вызывать команду git commit
с помощью git ci
. Псевдонимы также могут ссылаться на другие псевдонимы для создания более сложных сочетаний команд.
git config --global alias.amend ci --amend
В этом примере создается псевдоним amend, который включает псевдоним ci в новый псевдоним, использующий флаг --amend
.
Форматирование и пробелы
В Git есть функции для подсвечивания ошибок с пробелами при использовании git diff. Ошибки с пробелами будут выделяться цветом, указанным в color.diff.whitespace
Следующие возможности по умолчанию включены:
blank-at-eol
— подсвечивает висячие пробелы в конце строк;space-before-tab
— подсвечивает пробелы перед символом табуляции в строках с отступом;blank-at-eof
— подсвечивает пустые строки, вставленные в конец файла.
Следующие возможности по умолчанию отключены:
indent-with-non-tab
— подсвечивает строку, в которой для отступа используются пробелы вместо символов табуляции;tab-in-indent
— подсвечивает как ошибку отступ, начинающийся с символа табуляции;trailing-space
— сокращение для возможностей blank-at-eol и blank-at-eof;cr-at-eol
— подсвечивает символ возврата каретки в конце строки;tabwidth=
— определяет, сколько позиций символов занимает символ табуляции. Значение по умолчанию: 8. Допустимые значения: от 1 до 63.
Резюме
В этой статье мы рассказали, как использовать команду git config
; объяснили, почему эта команда удобна для редактирования исходных файлов git config
в файловой системе, и рассмотрели основные операции чтения и записи для параметров конфигурации. Кроме того, мы изучили распространенные сценарии настройки конфигурации:
- настройка редактора Git;
- переопределение уровней конфигурации;
- сброс значений по умолчанию для конфигурации;
- настройка цветов в Git.
В целом git config
— это вспомогательный инструмент, помогающий быстро редактировать исходные файлы git config
на диске. Мы подробно рассмотрели параметры индивидуальной настройки. Если вы захотите настроить репозиторий, вам обязательно понадобятся базовые знания параметров конфигурации Git. Демонстрацию основ работы см. в нашем руководстве.
Поделитесь этой статьей
Git configuration file locations
One of the five basic Git commands beginners need to learn is git config, if for no other reason than to perform an initial commit without the Git tool pestering for a user.name and user.email address.
But the git config command commonly used to initialize these fields typically employs a global switch, which gets users wondering about Git’s competing local and system scopes.
That then leads to the question about where all of these variously scoped Linux and Windows git configuration files can be found.
Here we will answer all of those questions about Git config file locations and where the various gitconfig files are stored.
Full list of where the Git configuration files config, gitconfig and .gitconfig are located on Windows and Ubuntu Linux.
System, global and local Git config files
Listed in descending order of specificity, Git provides four standard scopes for storing configuration data, plus a portable scope on Windows:
- Worktree
- Local
- Global
- System
- Portable
Note: Portable scope is the most general and is overridden by all other scopes.
The scopes are cascading with the most specific file taking precedence over the most general.
For example, local scope overrides global scope. Global scope overrides system scope.
If you set up multiple Git worktrees on the same computer, you can also use the Git worktree scope, although doing so requires this scope to be enabled.
Worktree scope is the most specific and will override local.
Names of Unix and Windows Git config files
Just to make life a bit more complicated, the variously scoped Git configuration files all have different names:
- gitconfig – the extensionless system Git config file
- .gitconfig – the global Git config file has no name, but is instead just an extension
- config – the local Git configuration file is simply named config, and like the system Git config file, has no extension
- config.worktree – the Git worktree configuration file flaunts both a name and an extension
Where are Windows Git config files located?
Here is where you will find Git configuration files on Windows:
Location of Windows Git Config Files | ||
---|---|---|
Scope | Location and Filename | Filename Only |
System | Older Git: <git-install-root>\mingw64\etc\gitconfig Newer Git: <git-install-root>\etc\gitconfig |
gitconfig |
Global | C:\Users\username\.gitconfig | .gitconfig |
Local | <git-repo>\.git\config | config |
Worktree | <git-repo>\.git\config.worktree | config.worktree |
Portable | C:\ProgramData\Git\config | config |
Where are Git config files on Ubuntu Linux located?
As for the location of the Linux Git configuration files, here is where you’ll find them on Ubuntu:
Ubuntu Linux Git Config File Locations | ||
---|---|---|
Scope | Location and Filename | Filename Only |
System | ~etc/gitconfig | gitconfig |
Global | ~home/<username>/.gitconfig or ~root/.gitconfig | .gitconfig |
Local | <git-repo>/.git/config | config |
Worktree | <git-repo>/.git/config.worktree | config.worktree |
Ever wonder where Git stores its configuration files?🤔
On Windows there are five different git config scopes:
✅Worktree scope
✅Local config scope
✅Global config scope
✅System config scope
✅Portable config scopeHere’s where to find them all.https://t.co/LPNjXpKtjJ
— Cameron McKenzie | Docker | GitHub | AWS | Java (@cameronmcnz) January 20, 2024
How to find Git config files on your own
To find the Git config file setting a given variable to a particular value, the –list and –show-origin switches of the git command can be useful. In the following example you can see the command indicating that the user.email property is set in the portable, system, local and global scopes. It also states exactly where those files Git config files are located.
Here is the git config command with list and show-origin swtiches run on Windows:
windows@location (main) $ git config --list --show-origin file:"C:\\ProgramData/Git/config" [email protected] file:C:/_git/etc/gitconfig user.name=Syster Sally file:C:/_git/etc/gitconfig [email protected] file:C:/Users/cameron/.gitconfig [email protected] file:.git/config [email protected]
Here is the same command run on Ubnutu where the Git user.name property is set in three separate scopes:
linux@location (main) $ git config --list --show-origin file: /etc/gitconfig user.name=Syster Sally file: /home/gme/.gitconfig user.name=Glow Ball file: .git/config user.name=Cameron
Git config finder script
On StackOverflow, the following command was suggested to help developers find the location of the Git config files:
sudo git -c core.editor=ls\ -al config --system --edit
The animated GIF below, pulled from 1998 when such things were cool, shows the above command being run on Ubuntu 20.
Take note of how the command above lists the home directory as the location for the global Git config file, but when the sudo command is used below the global Git config file is in ~root.
Git config file locations on Ubuntu Linux.
Can’t find the global git config file .gitconfig?
Sometimes users go looking for the global and system Git config files and can’t find them. If you can’t find gitconfig or .gitconfig, it’s probably because it’s not there.
Git doesn’t actually create the gitconfig or .gitconfig files until they are referenced for the first time. Just asking Git to edit the file will force its creation, but until that happens, efforts to find the .gitconfig or gitconfig file will be fruitless.
The following operation likely requires sudo rights on a Linux distribution as you may be creating files in privileged \etc or \root directories. But when run with elevated permissions, these commands are sufficient enough to force the creation of global and system gitconfig and .gitconfig files:
/c/ global/windows git config files (master) $ sudo git config --edit --global $ sudo git config --edit --system
Each of these Git commands opens the corresponding Windows or Linux Git config file in the configuration specified editor. You may edit the file if you please, or simply close the editor immediately to force config file creation.
The three main locations of Windows Git configuration files. On newer Git installations, gitfconfig is in the <git root>\etc folder, not a subfolder of mingw32.
Editing git config
On the topic of editors, if you’d like to switch the Git editor to Notepad++, just issue the following command:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Always be careful when you edit the Git config files. If you incorrectly edit any of these files, you might ruin your entire Linux or Windows Git configuration.
Статья посвещена вопросам настройки Git в операционных системах Windows и Linux. Рассмотрены вопросы настройки на системном, пользовательском уровне и уровне репозитория.
Настройка системы Git предполагает, в первую очередь, указание имени пользователя и e-mail, которые используются для подписи коммитов и отправки изменений в удаленный репозиторий.
В Git существует три места, где хранятся настройки:
- на уровне системы;
- на уровне пользователя;
- на уровне проекта (репозитория).
Для того, чтобы сконфигурировать Git на том или ином уровне вы можете изменить непосредственно конфигурационные файлы, но для этого нужно знать их формат, либо воспользоваться специальными командами, которые предоставляет Git. Мы рекомендуем использовать команды.
Windows
Уровень системы
\Program Files\Git\mingw64\etc\gitconfig
Имейте ввиду, что для его изменения вам могут понадобиться права администратора!
Уровень пользователя
%HOMEPATH%\.gitconfig
Уровень репозитория
папка_с_проектом\.git\config
Linux
Уровень системы
/etc/gitconfig
Уровень пользователя
~/.gitconfig
Уровень репозитория
папка_с_проектом/.git/config
Конфигурирование Git с помощью утилиты командной строки
Как уже было сказано выше, конфигурирование Git с помощью утилиты командной строки – это наиболее удобный и безопасный способ. Независимо от того, на каком уровне вы хотите менять настройки, команда будет начинаться так:
git config
Для уровня системы, мы должны написать:
> git config --system
уровня пользователя:
> git config --global
уровня приложения:
> git config
После этой команды указывается параметр и его значение.
Например, зададим имя и e-mail разработчика для уровня пользователя.
> git config --global user.name "User"
> git config --global user.email "user@company.com"
Для просмотра введенных изменений воспользуйтесь командой:
> git config --list
Дополнительно вы можете указать текстовый редактор, который будет запускать Git, если ему потребуется получить от вас какие-то данные, для этого модифицируйте параметр core.editor:
- вариант для Linux:
> git config --global core.editor "nano"
- вариант для Windows:
> git config --global core.editor "notepad.exe"
Отличный курс по git делают ребята из GeekBrains, найдите в разделе “Курсы” курс “Git. Быстрый старт”, он бесплатный!
<<< Часть 2. Установка Git Часть 4. АрхитектураGit>>>
Posted 23 Mar. 2021
| 2 min read.
This article covers how to use the command ‘git config’.
The git config command allows us to modify git configuration values, either:
- Locally — Within the current repository
- Globally — For every repository for the current operating system user
- System-wide — For every repository, and for every user on the system
These configuration values are saved within .gitconfig text files.
Values are stored in the config against a configuration name. To get the value for each configuration name, you can pass it to the git config command:
Get a configuration value
git config <configuration-name>
Let’s look at an example:
$ git config user.name
Sean Lloyd
$ git config user.email
sean@email.com
Set a configuration value
To set a config value, we need to pass in the new value with the configuration name:
git config <configuration-name> <configuration-value>
For example, to change my name to «Sean P Lloyd»:
$ git config user.name "Sean P Lloyd"
$ git config user.name
Sean P Lloyd
Setting different configuration levels
In the previous example, we set a configuration value without specifying the configuration level.
As mentioned previously, we have three configuration levels: local, global, and system.
By default, the local level is used if no configuration level is provided.
—local
To explicitly set a local value, add the parameter —local:
git config --local <configuration-name> <configuration-value>
This will set the value for that operating system user, only within that repository.
Local values can be found in the repository’s git directory: .git/config
—global
To set a global value, add the parameter —global:
git config --global <configuration-name> <configuration-value>
This will set the value for every repository, for that operating system user.
Global values can be found in a file within the user’s home directory:
- Unix and Unix-like systems — ~ /.gitconfig
- Windows — C:\Users\.gitconfig
—system
To set a system value, add the parameter —system:
git config --system <configuration-name> <configuration-value>
This will set the value for every repository, and for every user on that machine.
System-level configuration can be found in the following places:
- Unix and Unix-like systems — $(prefix)/etc/gitconfig
- Windows Vista and above — C:\ProgramData\Git\config
- Windows XP — C:\Documents and Settings\All Users\Application Data\Git\config