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