Git установка и настройка
Git — распределённая система контроля версий; перед работой её нужно установить и указать имя пользователя и email, которые будут отображаться в коммитах.
Зачем нужно
Без начальной настройки Git не знает, кто делает коммиты, и подписывает их некорректно. Правильная конфигурация важна при командной работе и для GitHub: email должен совпадать с тем, что указан в аккаунте, иначе коммиты не будут привязаны к профилю.
Где используется
- Первый шаг при настройке любой машины для разработки
- CI/CD-серверы: git config нужен перед автоматическими коммитами
- Настройка алиасов и редактора для удобной работы в терминале
- Настройка SSH-ключей для работы с GitHub/GitLab без пароля
Основной контент
Установка
macOS (через Homebrew):
brew install git
Ubuntu/Debian:
sudo apt update && sudo apt install git
Windows: скачать установщик с https://git-scm.com/download/win
Проверка установки:
git --version
# git version 2.43.0
Первоначальная настройка
# Имя и email (обязательно)
git config --global user.name "Ivan Petrov"
git config --global user.email "ivan@example.com"
# Редактор по умолчанию (вместо vim)
git config --global core.editor "code --wait"
# Ветка по умолчанию (вместо master)
git config --global init.defaultBranch main
# Алиасы для удобства
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"
Просмотр конфигурации
git config --list # все настройки
git config --global --list # только глобальные
git config user.name # одна настройка
Конфиг хранится в ~/.gitconfig. Можно редактировать напрямую:
[user]
name = Ivan Petrov
email = ivan@example.com
[core]
editor = code --wait
[init]
defaultBranch = main
[alias]
st = status
lg = log --oneline --graph --all
Уровни конфигурации
| Уровень | Файл | Область |
|---|---|---|
--system |
/etc/gitconfig |
Все пользователи системы |
--global |
~/.gitconfig |
Текущий пользователь |
--local |
.git/config |
Текущий репозиторий |
Более локальный уровень перекрывает более глобальный.
Частые ошибки
- Не указан email — коммиты не привязываются к GitHub-аккаунту; нужно, чтобы email в
git configсовпадал с email на GitHub - Разные имя/email на разных машинах — коммиты в истории выглядят как от разных людей
- Не настроен редактор — при
git commitбез-mоткрывается vim, что пугает новичков - Путаница
--globalvs--local— настройка для одного репозитория не должна перебивать глобальную