Шпаргалка по Git: 30 главных команд разработчика на каждый день
Исчерпывающее практическое руководство по Git: базовый рабочий цикл, ветвление, слияние, разрешение конфликтов, git stash и безопасная отмена коммитов.
Модуль 03: Окружение разработчика и Git
Освойте профессиональный командный Git-flow, разрешение конфликтов и работу с pull requests на реальных проектах.
Git — международный стандарт контроля версий в разработке ПО. Ниже собрана практическая подборка ключевых команд, с которыми инженер сталкивается каждый день на реальных проектах.
1. Базовый цикл работы разработчика
# 1. Проверить состояние рабочей директории и измененные файлы
git status
# 2. Добавить конкретный файл в область подготовки (staging)
git add src/index.ts
# 3. Зафиксировать изменения с осмысленным комментарием
git commit -m "feat(auth): add login form validation"
# 4. Посмотреть историю последних 5 коммитов с графом веток
git log --oneline --graph --decorate -n 5
Ключевое правило Git:
Git сохраняет не построчную разницу между файлами (diff), а полные моментальные снимки (снапшоты) всей файловой структуры проекта на момент коммита.
2. Работа с ветками: Switch и Merge
В современных версиях Git вместо перегруженной команды checkout рекомендуется использовать switch:
# Создать новую ветку и сразу переключиться в неё
git switch -c feature/user-profile
# Вернуться в основную ветку main
git switch main
# Слить изменения из feature/user-profile в текущую ветку
git merge feature/user-profile
# Удалить выполненную локальную ветку
git branch -d feature/user-profile
3. Merge против Rebase: когда что выбирать?
| Команда | Что делает с историей | Плюсы | Минусы |
|---|---|---|---|
git merge | Создает специальный merge-коммит | Сохраняет реальный хронологический порядок | Засоряет граф слияниями |
git rebase | Переносит коммиты «поверх» свежей ветки | Создает красивую линейную историю | Переписывает хэши коммитов |
Золотое правило Rebase:
Никогда не делайтеrebaseв общих публичных ветках (напримерmain), с которыми параллельно работают другие разработчики! Используйте rebase только в своих локальных feature-ветках для подтягивания обновлений.
4. Временный карман: git stash
Когда нужно срочно переключиться на другую задачу, но текущий код не готов к коммиту:
# Спрятать все незакоммиченные файлы
git stash push -m "WIP: корзина покупок"
# Посмотреть сохраненные карманы
git stash list
# Достать последние изменения и удалить запись из кармана
git stash pop
5. Отмена действий и спасение проекта
# Исправить текст последнего коммита или добавить забытый файл
git add forgotten-file.ts
git commit --amend --no-edit
# Отменить изменения в файле до состояния последнего коммита
git restore src/App.tsx
# Убрать файл из staging (отменить git add)
git restore --staged src/App.tsx
# Безопасный откат коммита (создает компенсирующий коммит в историю)
git revert <commit-hash>
# Мягкий откат коммита (файлы остаются готовыми в staging)
git reset --soft HEAD~1
Опасно:
Командаgit reset --hardбезвозвратно уничтожает все незакоммиченные изменения из рабочей директории. Если вам просто нужно отменить коммит, всегда используйте безопасныйgit reset --soft HEAD~1.
Понравилась шпаргалка?
В платформе CopyPastWorld собрано более 400 интерактивных уроков с практическими заданиями, автотестами и поддержкой сообщества.
