Поиск…


Синтаксис

  • 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 vs EDITOR .)

    $ 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.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow