Инструменты и инфраструктураСтартСкоро
Курс Git
Контроль версий на практике: коммиты и история, ветки и слияния, конфликты, удалённые репозитории и работа в команде.
Курс готовится к публикации
Материалы курса написаны и проверены, идёт подготовка к выходу на сайте: программа ниже — настоящая. Открытые курсы можно читать уже сейчас, а о запуске этого напишите — ответим, когда он появится.
- Модулей
- 12
- Ак. часов
- 60
- Разделов
- 130
Что нужно знать заранее. специальных требований нет; установка Git разбирается в модуле 1.
Программа курса
12 модулей; каждый — полноценное занятие с теорией, листингами, практикой и домашним заданием.
- 1
Введение в систему контроля версий
Система контроля версий (Version Control System, VCS) — это инструмент, который отслеживает изменения в файлах и позволяет вернуться к любой предыдущей версии.
Что такое VCSЦентрализованные vs распределённыеИстория GitУстановкаНастройкаТерминология
- 2
Основы работы с Git
Несколько команд оболочки, которые встретятся в практиках модуля:
git initТри состояния файловaddcommitstatuslog.gitignorediff
- 3
Работа с историей
git log показывает историю коммитов. Если история не помещается на экран, вывод открывается в постраничном просмотрщике (пейджере less): листайте стрелками…
git loggit showgit blamerestorerevertreset (soft, mixed, hard)
- 4
Ветвление (Branching)
Ветка (branch) — это независимая линия разработки. Она позволяет работать над новой функцией, не затрагивая основной код…
Что такое веткаbranchswitchmergeКонфликтыСтратегии ветвления
- 5
Удалённые репозитории
Удалённый репозиторий (remote) — версия проекта, размещённая на сервере (GitHub, GitLab, Bitbucket)…
RemoteclonepushpullfetchSSH-ключиTracking branches
- 6
Совместная работа
Fork — копия чужого репозитория в вашем аккаунте. Pull Request (PR) — запрос на слияние изменений из форка в оригинальный репозиторий.
ForkPull RequestCode ReviewКонфликты при pullgit stash
- 7
Перебазирование (Rebase)
git rebase — способ перенести коммиты из одной ветки на вершину другой. В отличие от merge, rebase создаёт линейную историю без merge-коммитов.
git rebaseRebase vs MergeInteractive rebasesquashfixuppull --rebase
- 8
Продвинутые операции
cherry-pick позволяет взять один или несколько коммитов из другой ветки и применить их к текущей — фактически это копирование отдельных коммитов.
cherry-pickbisectreflogtagsubmoduleworktree
- 9
Переписывание истории
Команда git commit --amend — самый простой способ исправить последний коммит: изменить сообщение или добавить забытые файлы.
commit --amendrebase -ifilter-repoУдаление секретовforce push
- 10
Хуки и автоматизация
Git Hooks — это скрипты, которые автоматически запускаются при определённых событиях Git (коммит, push, merge и т. д.)…
Git Hookspre-commitcommit-msgHuskylint-stagedCommitlintConventional Commits
- 11
Стратегии ветвления и CI/CD
Git Flow — классическая стратегия ветвления, предложенная Винсентом Дриссеном в 2010 году. Подходит для проектов с чётким циклом релизов.
Git FlowGitHub FlowTrunk-basedРелизыBranch ProtectionGitHub ActionsGitLab CI
- 12
Git для команд и лучшие практики
Conventional Commits — стандарт оформления сообщений коммитов, благодаря которому историю легко читать, а создание changelog и версионирование можно…
Conventional CommitsАтомарные коммиты.gitattributesGit LFSMonorepo vs PolyrepoШаблоныЧастые ошибки