История: в середине проекта моя коллега создала новый филиал из master и начала выполнять свою тяжелую работу по рефакторингу. Я создал свою ветку из master и начал делать новые вещи на странице. Мы регулярно выполняем коммиты, но только я могу переназначить код на master (поскольку изменения коллег слишком велики и их пока нельзя развернуть с master). К сожалению, некоторые из наших работ опираются на одни и те же файлы. Поэтому после нескольких дней работы, когда она, наконец, захотела изменить свои изменения на master , у нее возникло множество git-конфликтов.
my_branch #---#----#-#-------#----#--#-----#---#----#----#
/ \ \ \ \ \ \
master *-------*--------------*---*---*--------------*----*----*
\ /
her branch #------#-------#-----------#-----------#------------#
Вопрос 1: : как предотвратить множество конфликтов git, когда мы работаем над одними и теми же файлами? (или какова лучшая практика в этой ситуации?)
но это не конец нашего вопроса , ... чтобы быть абсолютно точным, она попыталась сделать ребаз из мастера в свою ветку (чтобы изменения, которые я зафиксировал), поэтому карта фиксации должна выглядеть примерно так
my_branch #---#----#-#-------#----#--#-----#---#----#----#
/ \ \ \ \ \ \
master *-------*--------------*---*---*--------------*----*----*
\ \ \ /
her branch #------#-------#----*------#-----*-----#------------#
И это то, что беспокоит нас. Во время этих перебазировок она исправляла эти конфликты. Но git не помнит ее решения по исправлению конфликта, поэтому, когда она сделала еще одну замену git с master на her-branch , ей пришлось исправить те же конфликты git снова что она исправляла в предыдущих ребазах.
Вопрос 2: : как заставить git запомнить исправление конфликта git после git rebase из ветки master , поэтому после следующей перезагрузки нам не нужно снова исправлять те же конфликты