Ваш проект

Сравнение коммитов и веток перед ревью

Выберите один коммит, прямое сравнение или изменения с момента расхождения, проверьте направление и проводите ревью фиксированных коммитов.

Перед ревью определите вопрос. «Что изменил этот коммит?» и «Что изменилось в ветке с момента ответвления?» могут дать разные diff даже для одинаковых имён веток.

Ищете приложение для Mac для чтения зафиксированных изменений? Сначала изучите порядок работы и ограничения просмотра Git diff в Yenpo.

Откройте сравнение

Чтобы проверить ветку feature относительно main, выполните шаги ниже, заменив примерные имена своими:

  1. Откройте локальный Git-репозиторий и нажмите Сравнить версии… в боковой панели.
  2. Переключитесь с Коммит на Сравнить.
  3. В От (base) выберите Локальные ветки и main. В До (head) выберите Локальные ветки и feature. У каждого столбца свои источник веток и поле поиска.
  4. Выберите С момента расхождения веток для работы в feature или Прямое сравнение для двух вершин. Следующий раздел объясняет различие результатов.
  5. Проверьте имена веток и короткие ID коммитов в сводке. Если направление неверно, заново выберите ветки в От и До, затем нажмите Показать изменения.
  6. Выберите файл в дереве изменённых файлов, чтобы прочитать встроенный 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.

Для каждого изменения поведения читайте за пределами изменённых строк:

  1. Найдите вызов, способный достичь нового кода.
  2. Выясните запускающие его данные или состояние.
  3. Проследите возвращаемое значение, ошибку или побочный эффект до вызывающего кода.
  4. Проверьте, действительно ли существующий тест достигает этого состояния.

Тест «handles concurrent reads» может просто делать два последовательных вызова. Читайте подготовку и утверждения, а не имя. Ревью кэша промисов показывает это на практике.

Попросите AI Reader провести ревью

Нажмите Попросить ИИ проверить это сравнение в заголовке. Кнопка готовит черновик с вложенным сравнением, но ещё не отправляет запрос. Проверьте метку сравнения, уточните предмет ревью и отправьте. Если модель не подключена, сначала следуйте руководству подключения.

Например:

Проверь изменение на регрессии отмены и обработки ошибок. Для каждого замечания укажи изменённое место, вызывающее состояние, видимый результат и подтверждающий код. Отдельно перечисли проблемы, уже существовавшие в базе.

Проверьте, что каждый предложенный триггер реален в выбранных коммитах. Если порядок по коду неясен, попросите воспроизведение или целевой тест и запустите сами. Тест в ответе ещё не выполнялся.

Когда нужно что-то исправить

Чаты сравнения Git всегда доступны только для чтения. Для исправления начните обычный чат в текущем рабочем дереве и включите Разрешить изменения. Оставьте сравнение как справочный материал.

После этого прочитайте diff рабочего дерева и выполните проверки проекта сами. Остановка не откатывает уже записанные файлы. Если раньше были другие изменения, отделите их от исправления, прежде чем выбирать содержимое коммита.