Git — одна из самых популярных систем контроля версий, используемая разработчиками по всему миру. Для комфортной работы с Git важно правильно его настроить. Основные настройки хранятся в конфигурационных файлах, управляемых командами git config
и .gitconfig
.
Данная информация предназначена для услуг: VPS хостинг или Облачный хостинг
1. Команда git config: основы
Команда git config
позволяет просматривать и изменять параметры Git. Настройки могут быть применены на трёх уровнях:
-
Системный (
--system
) — настройки для всех пользователей на компьютере. -
Глобальный (
--global
) — настройки для текущего пользователя. -
Локальный (
--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. Основные секции конфигурации
name = Ваше Имя
email = ваш@email.com
[core]
editor = nano
ignorecase = false
[alias]
st = status
co = checkout
br = branch
ci = commit
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)
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 (только текущая ветка)
default = simple # Безопасный режим push (только текущая ветка)
2.2.5. [pull] — настройки получения изменений
[pull]
rebase = true # Автоматический rebase вместо merge
rebase = true # Автоматический rebase вместо merge
2.2.6. [color] — цветовой вывод в терминале
[color]
ui = auto
branch = auto
diff = auto
status = auto
ui = auto
branch = auto
diff = auto
status = auto
3. Продвинутые настройки Git
3.1. Настройка GPG-подписи коммитов
-
Сгенерируйте GPG-ключ:
gpg --full-generate-key
-
Добавьте ключ в 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' # Постоянное хранение
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
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 и адаптируйте конфигурацию под свои нужды!