Установка и настройка Git
Установка Git на различные ОС и первичная конфигурация через git config
Зачем нужно
- Без установки Git нельзя работать с репозиториями
- Правильная настройка идентифицирует автора коммитов
- Алиасы и настройки ускоряют ежедневную работу
Где используется
- Первый шаг в любом проекте — настроить Git один раз
- При смене рабочей машины или настройке CI/CD-окружения
Предпосылки
- Что такое Git
- Базовая работа с терминалом
Установка
Windows
# Вариант 1: Официальный установщик
# Скачать с https://git-scm.com/download/win
# Установить с настройками по умолчанию
# Вариант 2: Через winget
winget install Git.Git
# Вариант 3: Через Chocolatey
choco install git
# Проверка установки
git --version
# git version 2.44.0.windows.1
macOS
# Вариант 1: Xcode Command Line Tools (часто уже установлен)
xcode-select --install
# Вариант 2: Через Homebrew
brew install git
# Проверка
git --version
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install git
# Fedora
sudo dnf install git
# Проверка
git --version
Настройка git config
Git хранит настройки на трёх уровнях:
| Уровень | Флаг | Файл | Область |
|---|---|---|---|
| System | --system |
/etc/gitconfig |
Все пользователи |
| Global | --global |
~/.gitconfig |
Текущий пользователь |
| Local | --local |
.git/config |
Текущий репозиторий |
Приоритет: Local > Global > System.
Обязательные настройки
# Имя и email — используются в каждом коммите
git config --global user.name "Ivan Petrov"
git config --global user.email "ivan@example.com"
# Проверить все настройки
git config --list
# Проверить конкретную настройку
git config user.name
Рекомендуемые настройки
# Ветка по умолчанию — main вместо master
git config --global init.defaultBranch main
# Редактор по умолчанию
git config --global core.editor "code --wait" # VS Code
# git config --global core.editor "vim" # Vim
# git config --global core.editor "nano" # Nano
# Автоматическое преобразование переносов строк
# Windows:
git config --global core.autocrlf true
# macOS/Linux:
git config --global core.autocrlf input
# Цветной вывод
git config --global color.ui auto
# Инструмент для merge-конфликтов
git config --global merge.tool vscode
git config --global mergetool.vscode.cmd 'code --wait $MERGED'
# Diff-инструмент
git config --global diff.tool vscode
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
# Кэширование паролей (HTTPS)
git config --global credential.helper store # сохранить навсегда
git config --global credential.helper cache # кэш на 15 мин
git config --global credential.helper 'cache --timeout=3600' # кэш на 1 час
Файл .gitconfig
Все global-настройки хранятся в файле ~/.gitconfig:
# ~/.gitconfig
[user]
name = Ivan Petrov
email = ivan@example.com
[init]
defaultBranch = main
[core]
editor = code --wait
autocrlf = true
[color]
ui = auto
[alias]
st = status
co = checkout
br = branch
ci = commit
lg = log --oneline --graph --all
last = log -1 HEAD
unstage = reset HEAD --
amend = commit --amend --no-edit
aliases = config --get-regexp alias
[pull]
rebase = false
[push]
autoSetupRemote = true
Полезные алиасы
# Короткие команды
git config --global alias.st "status"
git config --global alias.co "checkout"
git config --global alias.br "branch"
git config --global alias.ci "commit"
# Красивый лог
git config --global alias.lg "log --oneline --graph --all --decorate"
# Последний коммит
git config --global alias.last "log -1 HEAD --stat"
# Отменить staging
git config --global alias.unstage "reset HEAD --"
# Показать алиасы
git config --global alias.aliases "config --get-regexp alias"
# Использование:
git st # вместо git status
git lg # красивое дерево коммитов
git last # последний коммит
Настройка для конкретного репозитория
cd my-project
# Локальный email (для рабочих проектов)
git config --local user.email "ivan@company.com"
# Посмотреть локальные настройки
git config --local --list
Проверка установки
# Версия
git --version
# Место установки
which git # macOS/Linux
where git # Windows
# Все настройки и их источники
git config --list --show-origin
Частые ошибки
- Не настроить user.name и user.email — коммиты будут анонимными, GitHub не свяжет их с аккаунтом
- Путать
--globalи--local— глобальные настройки для всех проектов, локальные — для одного - Не настроить
core.autocrlf— на Windows появятся ложные diff-ы из-за переносов строк - Забыть
--waitдля VS Code — без него Git не дождётся закрытия редактора - Хранить пароли в credential.helper store — небезопасно на общих машинах, лучше использовать SSH
Практика
- Установите Git на свою систему
- Настройте
user.nameиuser.email - Установите
init.defaultBranch main - Создайте 3-4 алиаса из списка выше
- Откройте файл
~/.gitconfigи изучите его содержимое - Создайте тестовый репозиторий и настройте в нём локальный email
Связанные темы
Ресурсы
- Git Config Documentation — полный список настроек
- Pro Git: Первоначальная настройка
- GitHub: Set up Git