GIT позволяет объединить ветку в центральное хранилище, даже если эта ветвь устарела (другие люди передали изменения в master, которые не были обновлены в ветку, которая была объединена)
- Разработчик А создал новую ветку "BugFix_A" на центральном репо. На своей локальной машине он сделал
- Git pull, чтобы получить подробную информацию о недавно созданной ветви.
- git checkout BugFix_A
- Выполните изменения в 'FileA.txt ", зафиксируйте изменения в локальной ветке
Тем временем другой разработчик B слил новые коммиты в центральную главную ветку через свою ветку "BugFix_B"
Это означает, что разработчик В ветви "BugFix_A" пока нет этих новых коммитов в его локальной копии ветви "BugFix_A". Разработчик A (не понимая, что новые операции совершаются в центральном репо-мастере) выполняет "git push origin BugFix_A
Насколько я понимаю, git должен отклонять этот толчок, поскольку существуют конфликты (Его ветвь BugFix_A содержит новые коммиты, но на удивление толчок был успешным.
Вторая проблема заключается в том, что git также позволяет объединять ветку BugFix_A с главным при центральном репо, перезаписывая коммиты, выполненные разработчиком B
Есть ли проблемы с этим рабочим процессом? Я уверен, что делаю что-то не так.
графическое представление ветки master, перезаписанной устаревшей веткой