Новые концепции и команды этого урока
Git fork workflow
Fork — это операция на платформе GitHub/GitLab (через кнопку «Fork» в веб-интерфейсе). После форка вы получаете собственную копию репозитория с сохранённой связью с оригиналом.
# После форка через GitHub:
git clone https://github.com/YOUR_USERNAME/forked-repo.git
cd forked-repo
git status # убедиться, что находитесь на master/main
Pull Request (PR)
Механизм предложения изменений из форка или ветки в оригинальный репозиторий. Открывается через веб-интерфейс GitHub после push. Инициирует обсуждение и code review.
# После push ветки на GitHub открыть PR:
# GitHub → New Pull Request → выбрать ветку → Create pull request
# В описании PR сослаться на issue: "#НОМЕР_ISSUE"
git remote
Управление удалёнными репозиториями. Для работы с форком используются два remote: origin (ваш форк) и upstream (оригинальный репозиторий).
git remote -v # посмотреть все remote
git remote add upstream https://github.com/ORIG/repo # добавить upstream
git remote remove upstream # удалить upstream
git fetch
Скачивает изменения из удалённого репозитория, НЕ вливая их в рабочую ветку (в отличие от git pull). Используется для получения обновлений из upstream без автоматического merge.
git fetch upstream # получить все ветки upstream
git fetch upstream master # получить конкретную ветку
git checkout -b
Создать новую ветку и сразу переключиться на неё. Стандартный первый шаг при начале работы над задачей.
git checkout -b feature_x # создать ветку и переключиться
git checkout -b GH-9-fix-bug # именование по номеру issue
Ранее изученные команды (используются в уроке)
git pull— получить изменения из remote и слить с текущей веткойgit add— добавить файлы в staging areagit commit— зафиксировать изменения;-m "message"— с сообщениемgit push— загрузить изменения в remote;git push origin branch_namegit branch— управление ветками; список, создание, удалениеgit rebase— перебазирование ветки;git rebase mastergit merge— слияние ветки;git merge upstream/mastergit status— состояние рабочего каталогаgit clone— клонировать репозиторий