Git config где находится windows

от admin

1.6 Введение — Первоначальная настройка 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, чтобы эта опция работала правильно.

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

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

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

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

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

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

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

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

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

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

Так как 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 можно добавить аргументы. Доступны следующие уровни конфигурации:

  • —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 рассмотрим пример записи значения:

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

Редактор 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. Кроме того, им можно присвоить конкретное значение цвета. Вот несколько примеров поддерживаемых значений цвета:

  • normal
  • black
  • красный
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white

Цвет также можно указывать в виде шестнадцатеричного цветового кода, например #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:
          • указывает на текст заголовков в области состояния;
          • оба значения указывают на файлы, которые были добавлены, но не зафиксированы в виде коммитов;
          • указывает на файлы, которые были изменены, но не добавлены в индекс Git;
          • указывает на файлы, которые не отслеживаются системой Git;
          • применяет цвет к текущей ветке.
          • цвет предупреждения о том, что ветка отсутствует;
          • окрашивает файлы, в которых есть неслитые изменения.

          Псевдонимы

          Концепция псевдонимов может быть вам знакома по командной строке операционной системы. Если нет, то знайте, что псевдонимы — это пользовательские сокращенные команды, которые расширяются до более длинных или комбинированных команд. Псевдонимы экономят время и силы на ввод часто используемых команд. 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. Демонстрацию основ работы см. в нашем руководстве.

          # Configuration

          There are several ways to set which editor to use for committing, rebasing, etc.

          Or for all commands run in a terminal. Note: This only applies until you close the terminal.

          Note: As above, this only applies to the current terminal; your shell will usually have a configuration file to allow you to set it permanently. (On bash , for example, add the above line to your

          Some text editors (mostly GUI ones) will only run one instance at a time, and generally quit if you already have an instance of them open. If this is the case for your text editor, Git will print the message Aborting commit due to empty commit message. without allowing you to edit the commit message first. If this happens to you, consult your text editor’s documentation to see if it has a —wait flag (or similar) that will make it pause until the document is closed.

          # Auto correct typos

          This enables autocorrect in git and will forgive you for your minor mistakes (e.g. git stats instead of git status ). The parameter you supply to help.autocorrect determines how long the system should wait, in tenths of a second, before automatically applying the autocorrected command. In the command above, 17 means that git should wait 1.7 seconds before applying the autocorrected command.

          However, bigger mistakes will be considered as missing commands, so typing something like git testingit would result in testingit is not a git command.

          # Username and email address

          Right after you install Git, the first thing you should do is set your username and email address. From a shell, type:

          • git config is the command to get or set options
          • —global means that the configuration file specific to your user account will be edited
          • user.name and user.email are the keys for the configuration variables; user is the section of the configuration file. name and email are the names of the variables.
          • "Mr. Bean" and mrbean@example.com are the values that you’re storing in the two variables. Note the quotes around "Mr. Bean" , which are required because the value you are storing contains a space.

          # Multiple git configurations

          You have up to 5 sources for git configuration:

            — **`%ALLUSERSPROFILE%\Git\Config`** (Windows only)
            (system) **` /etc/gitconfig`**, with ` ` being the git installation path.
            (on Windows, it is **` \mingw64\etc\gitconfig`**) — (system) **`$XDG_CONFIG_HOME/git/config`** (Linux/Mac only) — (global) `

          /.gitconfig` (Windows: `%USERPROFILE%\.gitconfig`) — (local) `.git/config` (within a git repo `$GIT_DIR`) — a **dedicated file** (with `git config -f`), used for instance to modify the config of submodules: `git config -f .gitmodules . `

          The order is important: any config set in one source can be overridden by a source listed below it.

          git config —system/global/local is the command to list 3 of those sources, but only git config -l would list all resolved configs.
          "resolved" means it lists only the final overridden config value.

          Since git 2.8, if you want to see which config comes from which file, you type:

          # List and edit the current configuration

          Git config allows you to customize how git works. It is commonly used to set your name and email or favorite editor or how merges should be done.

          To see the current configuration.

          To edit the config:

          If you intend the change to be true for all your repositories, use —global

          You can list again to see your changes.

          # Multiple usernames and email address

          Since Git 2.13, multiple usernames and email addresses could be configured by using a folder filter.

          # Example for Windows:

          # .gitconfig

          Edit: git config —global -e

          • The order is depended, the last one who matches "wins".
          • the / at the end is needed — e.g. "gitdir:D:/work" won’t work.
          • the gitdir: prefix is required.

          # .gitconfig-work.config

          File in the same directory as .gitconfig

          # .gitconfig-opensource.config

          File in the same directory as .gitconfig

          # Example for Linux

          The file content and notes under section Windows.

          # Configuring line endings

          # Description

          When working with a team who uses different operating systems (OS) across the project, sometimes you may run into trouble when dealing with line endings.

          # Microsoft Windows

          When working on Microsoft Windows operating system (OS), the line endings are normally of form — carriage return + line feed (CR+LF). Opening a file which has been edited using Unix machine such as Linux or OSX may cause trouble, making it seem that text has no line endings at all. This is due to the fact that Unix systems apply different line-endings of form line feeds (LF) only.

          In order to fix this you can run following instruction

          On checkout, This instruction will ensure line-endings are configured in accordance with Microsoft Windows OS (LF -> CR+LF)

          # Unix Based (Linux/OSX)

          Similarly, there might be issues when the user on Unix based OS tries to read files which have been edited on Microsoft Windows OS. In order to prevent any unexpected issues run

          On commit, this will change line-endings from CR+LF -> +LF

          # configuration for one command only

          you can use -c <name>=<value> to add a configuration only for one command.

          To commit as an other user without having to change your settings in .gitconfig :

          Git config где находится windows

          Open banking has made financial transactions easier and more secure for those with multiple banking accounts; however, .

          REST may be a somewhat non-negotiable standard in web API development, but has it fostered overreliance? Learn why other design .

          Developers can use Microsoft Azure Logic Apps to build, deploy and connect scalable cloud-based workflows. Learn how it measures .

          A new CLI extension and other features due to ship this month lay the groundwork to help developers make better use of software .

          GitHub has added SMS support and fresh account lockout prevention features to its phased rollout plans as it prepares to .

          The new API is faster and cheaper than the previous ChatGPT interface, and users can opt out of submitting their data to it, .

          AWS Compute Optimizer and Cost Explorer monitor, analyze and optimize your cloud costs. Compare the two tools to choose which is .

          Azure management groups, subscriptions, resource groups and resources are not mutually exclusive. Businesses can — and often do .

          Amazon CodeGuru reviews code and suggests improvements to users looking to make their code more efficient as well as optimize .

          While some 2022 ransomware statistics indicate a possible ‘decline’ in activity, threat researchers warn there’s more to the .

          IceFire ransomware actors have shifted their attention to Linux servers and are actively exploiting a known vulnerability in .

          Adopting extended detection and response and employing managed detection and response services may be the missing pieces of the .

          Many organizations struggle to manage their vast collection of AWS accounts, but Control Tower can help. The service automates .

          There are several important variables within the Amazon EKS pricing model. Dig into the numbers to ensure you deploy the service .

          AWS users face a choice when deploying Kubernetes: run it themselves on EC2 or let Amazon do the heavy lifting with EKS. See .

          Читать:
          Как удалить последний символ в textbox c

Похожие статьи