Ответ
Чтобы проверить изменения во внешнем (оригинальном, upstream) репозитории, с которым вы не связаны напрямую, стандартный workflow включает создание форка и синхронизацию изменений.
Пошаговый процесс:
1. Создайте форк (Fork) и настройте локальный репозиторий
# 1. На GitHub нажмите 'Fork' на странице upstream-репозитория.
# 2. Клонируйте СВОЙ форк локально.
git clone https://github.com/YOUR-USERNAME/REPO-NAME.git
cd REPO-NAME
# 3. Добавьте оригинальный репозиторий как удалённый с именем 'upstream'.
git remote add upstream https://github.com/ORIGINAL-OWNER/REPO-NAME.git
# 4. Проверьте список удалённых репозиториев.
git remote -v
# origin https://github.com/YOUR-USERNAME/REPO-NAME.git (fetch/push)
# upstream https://github.com/ORIGINAL-OWNER/REPO-NAME.git (fetch/push)
2. Получите последние изменения из upstream
# Получите все ветки и коммиты из upstream, но не сливайте их.
git fetch upstream
3. Проверьте изменения
- Сравнение основной ветки: Просмотрите разницу между вашей локальной основной веткой и upstream.
# Переключитесь на вашу основную ветку (например, main). git checkout main
Сравните вашу ветку с веткой upstream/main.
git diff main upstream/main
Или просмотрите историю коммитов upstream.
git log --oneline --graph upstream/main
* **Создание ветки для проверки:** Чтобы изучить изменения, не затрагивая свою работу, создайте ветку на основе актуального состояния upstream.
```bash
git checkout -b review-upstream-changes upstream/main
4. Детальный анализ изменений
- Просмотр изменений в файлах:
# Показать изменения для последнего коммита в upstream. git show upstream/main # Показать изменения за определённый период. git log --since="2024-01-01" --until="2024-01-31" --oneline upstream/main git diff upstream/main~3 upstream/main # Сравнить 3 коммита назад с текущим - Локальный запуск тестов: Если это код проекта, запустите тесты для новой версии.
# После переключения на ветку review-upstream-changes npm install npm test
5. Синхронизация форка с upstream (если нужно) Если вы хотите обновить свою основную ветку до состояния upstream:
git checkout main
git merge upstream/main
# Или, что предпочтительнее для чистоты истории:
git rebase upstream/main
# Затем отправьте обновления в свой форк на GitHub.
git push origin main
Дополнительные методы проверки:
- GitHub Actions в форке: Настройте CI-пайплайн в своём форке, который будет запускаться при синхронизации с upstream.
- Просмотр Pull Requests в upstream: Изучите открытые PR в оригинальном репозитории, чтобы понять направление развития.
- Использование
ghCLI:# Установите GitHub CLI, затем: gh repo sync YOUR-USERNAME/REPO-NAME -b main gh pr view --repo ORIGINAL-OWNER/REPO-NAME 123 # Просмотр конкретного PR