Git и GitHub для разработчика
Полный последовательный маршрут: теория, пример, ошибка новичка, практика, самопроверка и проектный шаг в каждом уроке.
Полный последовательный маршрут: теория, пример, ошибка новичка, практика, самопроверка и проектный шаг в каждом уроке.
Переходи дальше только после того, как можешь воспроизвести идею самостоятельно и понимаешь, зачем она нужна.
После модулей закрепляй материал практикой и проверками. Курс считается освоенным только после выполнения критериев, а не после простого открытия всех страниц.
status — безопасная команда, которая показывает, что Git видит прямо сейчас.
Staging — промежуточная область: ты выбираешь, какие изменения войдут в следующий commit.
Commit фиксирует выбранные staged-изменения и сообщение о смысле изменения.
История нужна не для красоты, а чтобы понимать развитие проекта.
diff показывает разницу строк до commit.
Иногда нужно вернуть файл к состоянию последнего commit.
reset имеет разные режимы и может быть опасным при неверном использовании.
Для общей истории часто безопаснее создать обратный commit, чем переписывать прошлое.
Ветка позволяет разрабатывать функцию отдельно от основной линии.
switch явно предназначен для перехода между ветками.
Merge объединяет изменения веток.
Конфликт означает, что Git не может сам выбрать между несовместимыми изменениями.
Стратегия короткоживущих веток: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
PR — процесс ревью ветки перед включением в основную.
Conventional Commits и changelog: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
Pull Request как единица review: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Merge conflict: безопасный разбор: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Тема «Issues» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Labels и milestones» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Pull Request review» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Rebase: идея» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Interactive rebase» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Cherry-pick» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Tags» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «SemVer» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Stash» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Bisect» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Hooks» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Actions: CI идея» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Branch strategy» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Protected main» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Merge vs squash» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Конфликты не только в коде» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Секреты в Git» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «.gitignore не удаляет tracked file» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «reflog» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «reset --soft/mixed/hard» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Release notes» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Changelog» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «README проекта» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «CONTRIBUTING» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «LICENSE: зачем знать» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Работа с upstream fork» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Large files» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Monorepo mental model» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Conventional commits» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «CI quality gate» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «История проекта как доказательство работы» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Итог Git/GitHub» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Подписанные commits и tags: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
Секреты и история Git: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
GitHub Actions: build и test: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
Проверки перед merge: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Semantic Versioning: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Теги и релизные точки: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.