Note
При создании запроса на вытягивание можно изменить базовая ветвь, с которыми вы сравниваете изменения. Дополнительные сведения см. в разделе «Создание запроса на включение изменений».
Предлагаемые изменения можно просмотреть на вкладке "Измененные файлы".
Вместо того чтобы просматривать сами фиксации, вы можете просмотреть предлагаемые изменения в том виде, в котором они будут отображаться в файлах после объединения запроса на вытягивание. Файлы отображаются в алфавитном порядке на вкладке "Измененные файлы". Добавления к файлам отображаются зеленым цветом и предваряются знаком +
, а удаляемое содержимое отображается красным цветом и предваряется знаком -
.
Варианты просмотра изменений
Tip
Если у вас есть трудное понимание контекста изменения, вы можете щелкнуть "Вид" на вкладке "Измененные файлы", чтобы просмотреть весь файл с предлагаемыми изменениями.
Существует несколько вариантов просмотра изменений.
- Единое представление отображает обновленное и существующее содержимое вместе в линейном представлении.
- В разделенном представлении отображается старое содержимое с одной стороны и новое содержимое с другой стороны.
- В расширенном представлении изменений показано, как изменения будут выглядеть после объединения запроса на вытягивание.
- Представление исходного кода показывает изменения в исходном коде без форматирования расширенного представления изменений.
Вы также можете выбрать игнорирование изменений пробелов, чтобы получить более точное представление о существенных изменениях в запросе на вытягивание.
Чтобы упростить просмотр изменений в большом запросе на вытягивание, можно отфильтровать различия, чтобы отобразить только выбранные типы файлов, показать файлы, для которых вы являетесь CODEOWNER, скрыть уже просмотренные файлы или скрыть удаленные файлы. Дополнительные сведения см. в разделе «Фильтрация файлов в запросе на вытягивание».
Причины, по которым изменения не отображаются
- Превышен общий предел файлов или определенных типов файлов. Дополнительные сведения см. в разделе «Ограничения репозитория».
- Файл соответствует правилу в файле .gitattributes репозитория, которое запрещает отображение этого файла по умолчанию. Дополнительные сведения см. в разделе «Настройка отображения измененных файлов на GitHub».
Трехточечные и двухточечные сравнения изменения Git
Есть два метода сравнения для команды git diff
: двухточечный (git diff A..B
) и трехточечный (git diff A...B
). Запросы на извлечение данных GitHub отображают трехточие.
Трехточечное сравнение изменений Git
Трехточечное сравнение показывает разницу между последней общей фиксацией обеих ветвей (база слияния) и последней версией тематической ветви.
Двухточечное сравнение изменений Git
Двухточечное сравнение показывает разницу между последним состоянием базовой ветви (например, main
) и последней версией тематической ветки.
Чтобы просмотреть две ссылки на коммитиши в двухточечном сравнения на GitHub, можно изменить URL-адрес страницы "Сравнение изменений" репозитория. Дополнительные сведения см. в описании термина "committish" в глоссарии Git на сайте книги Pro Git.
Например, этот URL-адрес использует сокращенные коды SHA для сравнения фиксаций f75c570
и 3391dcc
: https://github.com/github-linguist/linguist/compare/f75c570..3391dcc
.
Двухточечное сравнение изменений сравнивает две ссылки на коммитиши Git, например SHA или OID (идентификаторы объектов), непосредственно друг с другом. На GitHub ссылки на коммитиши Git в двухточечном сравнении изменений должны отправляться в тот же репозиторий или его вилки.
Если вы хотите имитировать двухточечное сравнение изменений в запросе на вытягивание и увидеть сравнение между последними версиями каждой ветви, можно объединить базовую ветвь в ветвь раздела, которая обновляет последнего общего предка между ветвями.
Дополнительные сведения о командах Git для сравнения изменений см. в разделе Git diff options (Параметры сравнения изменений Git) на сайте книги Pro Git.
Сведения о трехточечном сравнении в GitHub
Так как сравнение трехточий сравнивается с базой слияния, он фокусируется на том, "что представляет запрос на вытягивание".
При использовании двухточечного сравнения различия изменяются при обновлении базовой ветви, даже если вы не внесли никаких изменений в ветвь раздела. Кроме того, двухточечное сравнение фокусируется на базовой ветви. Это означает, что все, что вы добавили, отображается как отсутствующее в базовой ветви, как если бы это было удаление, и наоборот. В результате изменения, вносимые тематической веткой, становятся неоднозначными.
Напротив, при сравнении ветвей с помощью трехточечного сравнения изменения в тематической ветви всегда находятся в сравнении изменений, если базовая ветвь обновлена, потому что сравнение показывает все изменения с момента расхождения ветвей.
Частые слияния
Чтобы избежать путаницы, чаще объединяйте базовую ветвь (например, main
) в ветвь раздела. При объединении базовой ветви различия, показываемые двухточечным и трехточечным сравнениями одинаковы. Мы рекомендуем объединять запрос на вытягивание как можно скорее. Это побуждает участников делать запросы на вытягивание меньшего размера, что является общей рекомендацией.