При сравнении файлов PR он не только сравнивает изменения файлов между исходной ветвью и целевой ветвью. Он сравнит историю коммитов между ними.
Это правильное поведение, если вы используете слияние сквоша несколько раз, чтобы объединить изменения из ветки в другую. Потому что вместо того, чтобы каждый коммит в тематической ветке добавлялся в историю ветки по умолчанию, слияние берет все изменения файла и добавляет их в один новый коммит в ветке по умолчанию.
Это означает, что когда вы используете слияние сквоша для слияния PR, только изменения файла в исходной ветке (feature
в вашем случае) будут объединены и сгенерированы новые фиксации в целевой ветке ( develop
в вашем случае). История коммитов для этих изменений файла в исходной ветке не будет объединена с целевой веткой.
Как правило, при завершении слияния сквоша вы должны удалить исходную ветку. И в следующий раз, если вы все еще хотите использовать слияние сквоша, вы можете создать новую исходную ветку (вы все еще можете использовать то же имя ветки feature
) на основе целевой ветки. Затем внесите изменения в новую исходную ветку, слейте изменения в целевую ветку с помощью слияния, удалите исходную ветку.
Если вы не удалите исходную ветку при использовании сквош-слияния и в следующий раз, когда вы продолжите вносить и объединять изменения из этой исходной ветки в целевую ветку, вы можете получить некоторые конфликты и дополнительные изменения, как и проблема, с которой вы столкнулись.
В это время, если есть конфликты, разрешите конфликты, после чего вы можете завершить слияние, как обычно. Если конфликтов нет, вы можете напрямую завершить слияние, как обычно. Завершая слияние, не забудьте удалить исходную ветку.
Дополнительные сведения см. на странице Создание пулл-реквестов на слияние.
person
Bright Ran-MSFT
schedule
25.05.2021