Search
Write a publication
Pull to refresh
6
0
Станислав @Stanislav9801

User

Send message

Интересный вопрос! Спасибо что спросили) Сами по себе конфликты возникают, если в одной и той же строке кода были сделаны изменения, и при этом, эти изменения расходятся. В самом простом и идеальном случае, если черри-пикнуть из feature ветки коммит в main, затем добавить еще коммитов в feature, после чего смерджить, то конфликтов возникнуть не должно, так как bugfix-коммит в feature ветке и bugfix-коммит в main ветке будут содержать идентичные изменения. Но это в идеально случае.
В реальности же, вероятнее всего, конфликты могут быть, просто потому что те же самые строки впоследствие могут быть снова изменены в ветке feature.
На черри-пик коммит в этом случае можно смотреть просто как на коммит, который кто-то сделал в ветке main. И если ваши финальные изменения, которые мерджатся из ветки feature никак не конфликтуют с изменениями в коммитах main, то все будет ок.

Решил для верности потестировать (репо):
- мердж ветки feature прошел с конфликтом из-за того, что нечаянно где-то тронул пустые строки (дифф)
- мердж ветки feature_2 прошел без конфликтов (тот самый "идеальный" случай)
- мердж ветки feature_3 прошел с конфликтом, так как в финальных изменениях ветки feature "перезаписывались" те же строчки кода, которые ранее были перенесены коммитом в main (дифф).

На всю историю репозитория удобнее всего посмотреть во вкладке Repository graph

Information

Rating
Does not participate
Registered
Activity