Git global config windows

1.6 Введение — Первоначальная настройка Git

Первоначальная настройка Git

Теперь, когда Git установлен в вашей системе, самое время настроить среду для работы с Git под себя. Это нужно сделать только один раз — при обновлении версии Git настройки сохранятся. Но, при необходимости, вы можете поменять их в любой момент, выполнив те же команды снова.

В состав Git входит утилита git config , которая позволяет просматривать и настраивать параметры, контролирующие все аспекты работы Git, а также его внешний вид. Эти параметры могут быть сохранены в трёх местах:

Файл [path]/etc/gitconfig содержит значения, общие для всех пользователей системы и для всех их репозиториев. Если при запуске git config указать параметр —system , то параметры будут читаться и сохраняться именно в этот файл.

/.config/git/config хранит настройки конкретного пользователя. Этот файл используется при указании параметра —global .

Файл config в каталоге Git (т. е. .git/config ) репозитория, который вы используете в данный момент, хранит настройки конкретного репозитория. Вы можете заставить Git читать и писать в этот файл с помощью параметра —local, но на самом деле это значение по умолчанию.

Настройки на каждом следующем уровне подменяют настройки из предыдущих уровней, то есть значения в .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 , запущенной с правами администратора.

Чтобы посмотреть все установленные настройки и узнать где именно они заданы, используйте команду:

Имя пользователя

Первое, что вам следует сделать после установки Git — указать ваше имя и адрес электронной почты. Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:

Опять же, если указана опция —global , то эти настройки достаточно сделать только один раз, поскольку в этом случае Git будет использовать эти данные для всего, что вы делаете в этой системе. Если для каких-то отдельных проектов вы хотите указать другое имя или электронную почту, можно выполнить эту же команду без параметра —global в каталоге с нужным проектом.

Многие GUI-инструменты предлагают сделать это при первом запуске.

Выбор редактора

Теперь, когда вы указали своё имя, самое время выбрать текстовый редактор, который будет использоваться, если будет нужно набрать сообщение в Git. По умолчанию Git использует стандартный редактор вашей системы, которым обычно является Vim. Если вы хотите использовать другой текстовый редактор, например, Emacs, можно проделать следующее:

В системе Windows следует указывать полный путь к исполняемому файлу при установке другого текстового редактора по умолчанию. Пути могут отличаться в зависимости от того, как работает инсталлятор.

В случае с Notepad++, популярным редактором, скорее всего вы захотите установить 32-битную версию, так как 64-битная версия ещё не поддерживает все плагины. Если у вас 32-битная Windows или 64-битный редактор с 64-битной системой, то выполните следующее:

Vim, Emacs и Notepad++ — популярные текстовые редакторы, которые часто используются разработчиками как в Unix-подобных системах, таких как Linux и Mac, так и в Windows. Если вы используете другой редактор или его 32-битную версию, то обратитесь к разделу Команды git config core.editor за дополнительными инструкциями как использовать его совместно с Git.

Читайте также:  Как ускорить мышку mac os

В случае, если вы не установили свой редактор и не знакомы с Vim или Emacs, вы можете попасть в затруднительное положение, когда какой-либо из них будет запущен. Например, в Windows может произойти преждевременное прерывание команды Git при попытке вызова редактора.

Настройка ветки по умолчанию

Когда вы инициализируете репозиторий командой git init , Git создаёт ветку с именем master по умолчанию. Начиная с версии 2.28, вы можете задать другое имя для создания ветки по умолчанию.

Например, чтобы установить имя main для вашей ветки по умолчанию, выполните следующую команду:

Проверка настроек

Если вы хотите проверить используемую конфигурацию, можете использовать команду git config —list , чтобы показать все настройки, которые Git найдёт:

Некоторые ключи (названия) настроек могут отображаться несколько раз, потому что Git читает настройки из разных файлов (например, из /etc/gitconfig и

/.gitconfig ). В таком случае Git использует последнее значение для каждого ключа.

Также вы можете проверить значение конкретного ключа, выполнив git config :

Так как Git читает значение настроек из нескольких файлов, возможна ситуация когда Git использует не то значение что вы ожидали. В таком случае вы можете спросить Git об origin этого значения. Git выведет имя файла, из которого значение для настройки было взято последним:

git config

В этом документе мы подробнее изучим команду git config . Мы уже вкратце рассмотрели использование git config на странице Настройка репозитория. Команда git config — это удобная функция, которая используется для настройки значений конфигурации Git на глобальном и локальном уровнях проекта. Эти уровни конфигурации соответствуют текстовым файлам .gitconfig . При выполнении команды git config происходит изменение текстового файла конфигурации. Мы рассмотрим общие параметры конфигурации, такие как электронная почта, имя пользователя и редактор, а также обсудим псевдонимы Git, позволяющие создавать сокращенные команды для наиболее часто используемых операций Git. Освоив команду git config и различные параметры конфигурации Git, вы сможете создать сложный персонализированный рабочий процесс в Git.

Использование

Самый простой пример использования git config — вызов этой команды с именем конфигурации. При этом отобразится заданное для этого имени значение. Имена конфигурации представляют собой строку, состоящую из иерархической последовательности «раздела» и «ключа», разделенных точкой. Пример: user.email

В этом примере «email» является дочерним свойством блока конфигурации «user». Команда вернет адрес электронной почты (если таковой был указан), который Git свяжет с локально созданными коммитами.

Уровни и файлы git config

Прежде чем рассматривать использование git config , поговорим немного об уровнях конфигурации. Чтобы указать уровень конфигурации, на котором производится работа, к команде git config можно добавить аргументы. Доступны следующие уровни конфигурации:

По умолчанию, если не были переданы опции конфигурации, команда git config будет вести запись на локальном уровне. Конфигурация локального уровня применяется к репозиторию, в котором вызывается команда git config . Значения локальной конфигурации хранятся в файле, который находится в каталоге .git репозитория: .git/config

Конфигурация глобального уровня зависит от пользователя, то есть применяется к пользователю операционной системы. Значения глобальной конфигурации хранятся в файле, который находится в домашнем каталоге пользователя. Это

/.gitconfig в Unix-системах и C:\ \.gitconfig в системах Windows.

Конфигурация уровня системы применяется ко всей машине. Она охватывает всех пользователей операционной системы и все репозитории. Конфигурация уровня системы указывается в файле 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 рассмотрим пример записи значения:

В данном примере значение your_email@example.com будет записано в имя конфигурации user.email . Поскольку используется флаг —global , значение будет задано для текущего пользователя операционной системы.

Читайте также:  Линукс загрузчик для windows

Редактор git config — core.editor

Многие команды Git запускают текстовый редактор, чтобы запросить дальнейший ввод информации. Один из наиболее частых примеров использования команды git config — это настройка редактора, который должен применяться в Git. Ниже приведена таблица наиболее популярных редакторов и соответствующие команды git config .

git config —global core.editor «atom —wait»

git config —global core.editor «emacs»

git config —global core.editor «nano -w»

git config —global core.editor «vim»

git config —global core.editor «subl -n -w»

git config —global core.editor «‘c:/program files (x86)/sublime text 3/sublimetext.exe’ -w»

git config —global core.editor «‘c:/program files/sublime text 3/sublimetext.exe’ -w»

git config —global core.editor «mate -w»

Инструменты слияния

При возникновении конфликта слияния Git запускает «инструмент слияния». По умолчанию в Git используется внутренняя реализация обычной Unix-программы diff. Внутренняя программа diff в Git представляет собой простейшее средство для просмотра конфликтов слияния. Вместо нее можно использовать любое другое стороннее решение для разрешения конфликтов. Обзор различных инструментов слияния и конфигурации см. в руководстве по советам и инструментам для решения конфликтов с помощью Git.

Выделение выводимой информации цветом

Git поддерживает выделение выводимой в терминале информации различными цветами, что помогает быстро читать вывод Git. Для настройки вывода Git можно использовать индивидуальную цветовую тему. Для установки значений цветов используется команда git config .

color.ui

Это основная переменная, влияющая на выделение цветом в Git. Если задать этой переменной значение false, выделение любой выводимой в терминале Git информации цветом будет отключено.

Значение переменной color.ui по умолчанию равно auto. Это означает, что маркироваться цветом будет только непосредственный выходной поток терминала. Если же выходной поток перенаправляется в файл или передается другому процессу, то такой вывод цветом не маркируется.

Можно присвоить переменной color.ui значение always. Тогда вывод будет выделяться цветом даже при перенаправлении выходного потока в файлы или конвейеры. Однако это может вызвать проблемы, поскольку принимающий конвейер может не ожидать, что входные данные будут иметь цветовую кодировку.

Значения цветов в Git

Помимо переменной color.ui , доступны и более тонкие настройки цвета. Как и переменной color.ui , эти цветовым настройкам можно присваивать значения false, auto или always. Кроме того, им можно присвоить конкретное значение цвета. Вот несколько примеров поддерживаемых значений цвета:

Цвет также можно указывать в виде шестнадцатеричного цветового кода, например #ff0000, или в виде одного из 256 цветовых значений ANSI, если ваш терминал их поддерживает.

Настройка цветовой конфигурации в Git

  • Настраивает цвет вывода команды git branch.

2. color.branch. слот >

  • Это значение также применяется к выводу команды git branch. Переменная слот > может принимать одно из следующих значений:
    • 1) current: текущая ветка;
    • 2) local: локальная ветка;
    • 3) remote: ссылка на удаленную ветку в refs/remotes;
    • 4) upstream: вышестоящая отслеживаемая ветка.
    • 5) plain: любая другая ссылка.
  • Применяет цвета к выводу команд 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.
    • 8) whitespace: задает в diff цвет для любых ошибок, связанных с пробелами.

5. color.decorate. слот >

  • Настройка цвета для вывода команды git log —decorate . Поддерживаемые значения параметра слот >: branch , remoteBranch , tag , stash или HEAD . Они применяются к локальным веткам, удаленным отслеживаемым веткам, тегам, отложенным изменениям и указателю HEAD соответственно.
  • Применяет цвет к выводу команды git grep.

7. color.grep. слот >

  • Применяется также для команды git grep. Переменная слот > указывает, к какой части вывода команды grep применить цвет:
    • 1) context: несоответствующий текст в строках контекста;
    • 2) filename: префикс имени файла;
    • 3) function: строки с именами функций;
    • 4) linenumber: префикс номера строки;
    • 5) match: соответствующий текст;
    • 6) matchContext: соответствующий текст в строках контекста;
    • 7) matchSelected: соответствующий текст в выбранных строках;
    • 8) selected: несоответствующий текст в выбранных строках;
    • 9) separator: разделители между полями в строке (:, -, и =) и между участками кода (—).
  • Эта переменная задает цвет для интерактивных подсказок. Примеры: git add —interactive и git clean —interactive .

9. color.interactive. слот >

  • Переменная слот > используется для уточнения вида интерактивного вывода. Доступные значения переменной слот >: prompt, header, help, error; каждая из них действует на соответствующий вид интерактивного вывода (подсказку, заголовок, справочное сообщение, ошибку).
  • Включает или отключает выделение выводимой информации цветом при использовании пейджера.
  • Включает или отключает выделение выводимой информации цветом для команды git show-branch.
  • Логическое значение, которое включает или отключает выделение выводимой информации цветом для команды 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 .

В этом примере создается псевдоним ci для команды git commit . После этого вы сможете вызывать команду git commit с помощью команды git ci . Псевдонимы также могут ссылаться на другие псевдонимы для создания более сложных сочетаний команд.

В этом примере создается псевдоним 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?

Ознакомьтесь с этим интерактивным обучающим руководством.

Читайте также:  Windows scripting date format
Оцените статью
Редактор Команда config
Atom
Sublime Text (Win, 32-разрядная версия)
Sublime Text (Win, 64-разрядная версия)