Установка и настройка Git

Установка Git на различные ОС и первичная конфигурация через git config

Зачем нужно

  • Без установки Git нельзя работать с репозиториями
  • Правильная настройка идентифицирует автора коммитов
  • Алиасы и настройки ускоряют ежедневную работу

Где используется

  • Первый шаг в любом проекте — настроить Git один раз
  • При смене рабочей машины или настройке CI/CD-окружения

Предпосылки

Установка

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

Практика

  1. Установите Git на свою систему
  2. Настройте user.name и user.email
  3. Установите init.defaultBranch main
  4. Создайте 3-4 алиаса из списка выше
  5. Откройте файл ~/.gitconfig и изучите его содержимое
  6. Создайте тестовый репозиторий и настройте в нём локальный email

Связанные темы

Ресурсы