junior
Какие основные команды Git нужно знать?
Команды Git — это набор CLI-инструментов для управления репозиторием, разделённых на категории: создание, отслеживание изменений, работа с ветками, синхронизация.
Создание и клонирование
Пример
# Создать новый локальный репозиторий
git init
# Клонировать удалённый репозиторий
git clone https://github.com/user/repo.git
# Клонировать в указанную директорию
git clone https://github.com/user/repo.git my-project
Отслеживание изменений
Пример
# Показать состояние рабочей директории
git status
# Показать изменения в файлах (unstaged)
git diff
# Показать изменения, добавленные в индекс (staged)
git diff --staged
# Добавить файл в индекс (staging area)
git add Main.java
# Добавить все изменённые файлы
git add .
# Зафиксировать изменения
git commit -m "feat: добавлен новый сервис авторизации"
# Просмотреть историю коммитов
git log
git log --oneline --graph --all
Работа с ветками
Пример
# Создать новую ветку
git branch feature/auth
# Переключиться на ветку
git switch feature/auth # современный способ (Git 2.23+)
git checkout feature/auth # классический способ
# Создать ветку и переключиться на неё
git switch -c feature/auth
git checkout -b feature/auth
# Удалить ветку
git branch -d feature/auth # безопасное удаление (проверяет merge)
git branch -D feature/auth # принудительное удаление
Синхронизация с удалённым репозиторием
Пример
# Скачать изменения без слияния
git fetch origin
# Скачать и слить изменения (fetch + merge)
git pull origin main
# Отправить изменения на удалённый сервер
git push origin feature/auth
# Посмотреть удалённые репозитории
git remote -v
Слияние и перебазирование
Пример
# Слить ветку в текущую
git merge feature/auth
# Перебазировать текущую ветку на main
git rebase main
Временное сохранение
Пример
# Сохранить незакоммиченные изменения
git stash
# Восстановить сохранённые изменения
git stash pop
Ключевые моменты
git pull=git fetch+git merge— важно понимать эту разницуgit switchиgit restore(Git 2.23+) — более безопасные альтернативы перегруженной командеgit checkoutgit add .добавляет все изменения в текущей директории,git add -A— во всём репозитории- Всегда проверяйте
git statusперед коммитом
Частые ошибки
- Использование
git add .без предварительногоgit status— можно случайно добавить лишние файлы - Путать
git pullиgit fetch—pullсразу меняет рабочую директорию - Забывать указать ветку при
git push, особенно при первом пуше новой ветки (нужноgit push -u origin branch-name) - Делать огромные коммиты вместо маленьких атомарных — усложняет review и откат
Как используется в 2026
git switchиgit restoreстали рекомендуемыми командами вместоgit checkoutдля соответствующих операцийgit log --oneline --graph— незаменим при работе с множеством веток- Многие команды автодополняются AI-ассистентами в IDE
- Использование
git pull --rebaseпо умолчанию стало распространённой практикой для более чистой истории
На собеседовании: покажите, что знаете не просто список команд, а понимаете их связь:
pull=fetch+merge,switch— современная заменаcheckout. Интервьюер часто спрашивает разницу междуgit add .иgit add -A, а также зачем нуженgit fetchотдельно отpull.