Настройка Git: git config и .gitconfig

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

Данная информация предназначена для услуг: VPS хостинг или Облачный хостинг

1. Команда git config: основы

Команда git config позволяет просматривать и изменять параметры Git. Настройки могут быть применены на трёх уровнях:

  1. Системный (--system) — настройки для всех пользователей на компьютере.

  2. Глобальный (--global) — настройки для текущего пользователя.

  3. Локальный (--local) — настройки для конкретного репозитория.

1.1. Просмотр текущих настроек

Чтобы посмотреть все настройки, выполните:
git config --list

Для просмотра конкретного параметра (например, имени пользователя):
git config user.name

1.2. Установка параметров

  • Глобальная настройка имени и email:
    git config --global user.name "Ваше Имя"
    git config --global user.email "ваш@email.com"

  • Локальная настройка (только для текущего репозитория):
    git config --local user.name "Другое Имя"

1.3. Где хранятся файлы конфигурации?

  • Системный уровень:

    • Linux/Mac: /etc/gitconfig

    • Windows: C:\Program Files\Git\etc\gitconfig

  • Глобальный уровень:

    • Linux/Mac: ~/.gitconfig

    • Windows: C:\Users\<User>\.gitconfig

  • Локальный уровень:
    .git/config в папке репозитория


2. Файл .gitconfig: структура и настройки

Файл .gitconfig хранит глобальные настройки Git в формате INI. Его можно редактировать вручную или через git config.

2.1. Пример файла .gitconfig
[user]
    name = Ваше Имя
    email = ваш@email.com

[core]
    editor = nano
    ignorecase = false

[alias]
    st = status
    co = checkout
    br = branch
    ci = commit
2.2. Основные секции конфигурации

 

2.2.1. [user] — информация о пользователе

Обязательные настройки для коммитов:
[user]
    name = Иван Петров
    email = ivan@example.com
    signingkey = ABCD1234 # (опционально) GPG-ключ для подписи коммитов

2.2.2. [core] — базовые настройки Git
[core]
    editor = vim # Редактор для коммитов
    ignorecase = false # Чувствительность к регистру в именах файлов
    autocrlf = input # Настройка переносов строк (Windows/Linux/Mac)

2.2.3. [alias] — создание псевдонимов команд

Упрощение часто используемых команд:
[alias]
    st = status
    lg = log --graph --oneline --decorate --all
    cm = commit -m
    undo = reset HEAD~1 # Отмена последнего коммита

2.2.4. [push] — настройки отправки в удалённый репозиторий
[push]
    default = simple # Безопасный режим push (только текущая ветка)

2.2.5. [pull] — настройки получения изменений
[pull]
    rebase = true # Автоматический rebase вместо merge

2.2.6. [color] — цветовой вывод в терминале
[color]
    ui = auto
    branch = auto
    diff = auto
    status = auto

3. Продвинутые настройки Git

3.1. Настройка GPG-подписи коммитов

  1. Сгенерируйте GPG-ключ:
    gpg --full-generate-key

  2. Добавьте ключ в Git:
    git config --global user.signingkey ABCD1234
    git config --global commit.gpgsign true

3.2. Игнорирование файлов (global .gitignore)

Создайте глобальный .gitignore:
git config --global core.excludesfile ~/.gitignore_global

И добавьте в него шаблоны (например, .DS_Store.log).

3.3. Настройка SSH вместо HTTPS
git config --global url."git@github.com:".insteadOf "https://github.com/"

3.4. Кэширование учётных данных
git config --global credential.helper cache                                 # На 15 минут
git config --global credential.helper 'store --file ~/.git-credentials'     # Постоянное хранение

4. Пример полного .gitconfig
[user]
    name = Иван Петров
    email = ivan@example.com
    signingkey = ABCD1234

[core]
    editor = code --wait
    ignorecase = false
    autocrlf = input
    excludesfile = ~/.gitignore_global

[alias]
    st = status
    co = checkout
    br = branch
    ci = commit
    cm = commit -m
    lg = log --graph --oneline --decorate --all
    undo = reset HEAD~1
    last = log -1 HEAD

[push]
    default = simple

[pull]
    rebase = true

[color]
    ui = auto
    diff = auto
    status = auto
    branch = auto

[commit]
    gpgsign = true

[init]
    defaultBranch = main

5. Заключение

Правильная настройка Git через git config и .gitconfig ускоряет работу и делает её более удобной. Вы можете:

  • Настроить имя и email для коммитов

  • Создать алиасы для часто используемых команд

  • Включить GPG-подпись

  • Оптимизировать работу с SSH и кэшированием паролей

Используйте эту статью как шпаргалку по настройке Git и адаптируйте конфигурацию под свои нужды!

  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by