Сравнение коммитов и веток перед ревью
Выберите один коммит, прямое сравнение или изменения с момента расхождения, проверьте направление и проводите ревью фиксированных коммитов.
Перед ревью определите вопрос. «Что изменил этот коммит?» и «Что изменилось в ветке с момента ответвления?» могут дать разные diff даже для одинаковых имён веток.
Ищете приложение для Mac для чтения зафиксированных изменений? Сначала изучите порядок работы и ограничения просмотра Git diff в Yenpo.
Откройте сравнение
Чтобы проверить ветку feature относительно main, выполните шаги ниже, заменив примерные имена своими:
- Откройте локальный Git-репозиторий и нажмите Сравнить версии… в боковой панели.
- Переключитесь с Коммит на Сравнить.
- В От (base) выберите Локальные ветки и
main. В До (head) выберите Локальные ветки иfeature. У каждого столбца свои источник веток и поле поиска. - Выберите С момента расхождения веток для работы в
featureили Прямое сравнение для двух вершин. Следующий раздел объясняет различие результатов. - Проверьте имена веток и короткие ID коммитов в сводке. Если направление неверно, заново выберите ветки в От и До, затем нажмите Показать изменения.
- Выберите файл в дереве изменённых файлов, чтобы прочитать встроенный diff.
Для origin/main выберите Удалённые ветки в столбце «От». Это уже сохранённые локально ссылки отслеживания, а не текущее представление сервера. Для новых удалённых коммитов обновите репозиторий обычным Git-клиентом и снова откройте выбор сравнения.
Yenpo закрепляет сравнение за конкретными коммитами. При последующем движении ветки ревью остаётся на выбранных коммитах. Для новой вершины откройте новое сравнение.
Выберите режим
| Вопрос | Режим | Сравнивает |
|---|---|---|
| Что изменил коммит? | Коммит | Первый родитель → этот коммит; корневой — с пустым деревом |
| Чем сейчас отличаются вершины двух веток? | Прямое сравнение | Вершина base → вершина head |
| Что изменилось в head с момента расхождения? | С момента расхождения веток | Merge base → вершина head |
Рассмотрим такую историю:
M1──M2 main
/
O───X
\
F1──F2 feature
Прямое сравнение main → feature сопоставляет M2 и F2, включая работу обеих сторон. С момента расхождения веток сравнивает X и F2 — обычно это ответ на «Что добавила feature?». Оно не имитирует итоговое слияние и не предсказывает конфликты.
Для merge-коммита режим Коммит сравнивает только с первым родителем. Это один взгляд на слияние, а не diff с каждым родителем; убедитесь, что он отвечает вашему вопросу.
Проверьте точную пару ревизий
Наведите указатель на строку ревизий над деревом, чтобы увидеть полные ID коммитов. В Прямом сравнении это выбранные коммиты «От» и «До». В режиме С момента расхождения веток база обозначена merge-base(...), а её ID соответствует общему предку, не вершине ветки «От».
Для проверки тех же версий в Git выполните в репозитории эти команды только для чтения. Замените BASE_COMMIT_OID и HEAD_COMMIT_OID полными ID из Yenpo:
git show --no-patch --format='%h %s' BASE_COMMIT_OID HEAD_COMMIT_OID
git diff --stat BASE_COMMIT_OID HEAD_COMMIT_OID --
Первая команда определяет два коммита, вторая суммирует разницу их зафиксированных деревьев. Незакоммиченные файлы не входят в сравнение. При проверке старого ревью используйте записанные ID: имена веток уже могут указывать на новые коммиты.
Читайте diff в контексте
Дерево открывает встроенные diff только для чтения. Файлы сравнения могут соседствовать с текущими; проверяйте версию вкладки перед выводами о вызовах или тестах. В рабочем дереве уже могут быть изменения, отсутствующие в выбранном head.
Для каждого изменения поведения читайте за пределами изменённых строк:
- Найдите вызов, способный достичь нового кода.
- Выясните запускающие его данные или состояние.
- Проследите возвращаемое значение, ошибку или побочный эффект до вызывающего кода.
- Проверьте, действительно ли существующий тест достигает этого состояния.
Тест «handles concurrent reads» может просто делать два последовательных вызова. Читайте подготовку и утверждения, а не имя. Ревью кэша промисов показывает это на практике.
Попросите AI Reader провести ревью
Нажмите Попросить ИИ проверить это сравнение в заголовке. Кнопка готовит черновик с вложенным сравнением, но ещё не отправляет запрос. Проверьте метку сравнения, уточните предмет ревью и отправьте. Если модель не подключена, сначала следуйте руководству подключения.
Например:
Проверь изменение на регрессии отмены и обработки ошибок. Для каждого замечания укажи изменённое место, вызывающее состояние, видимый результат и подтверждающий код. Отдельно перечисли проблемы, уже существовавшие в базе.
Проверьте, что каждый предложенный триггер реален в выбранных коммитах. Если порядок по коду неясен, попросите воспроизведение или целевой тест и запустите сами. Тест в ответе ещё не выполнялся.
Когда нужно что-то исправить
Чаты сравнения Git всегда доступны только для чтения. Для исправления начните обычный чат в текущем рабочем дереве и включите Разрешить изменения. Оставьте сравнение как справочный материал.
После этого прочитайте diff рабочего дерева и выполните проверки проекта сами. Остановка не откатывает уже записанные файлы. Если раньше были другие изменения, отделите их от исправления, прежде чем выбирать содержимое коммита.