ストーリー: プロジェクトの途中で、同僚がmasterから新しいブランチを作成し、重いリファクタリング作業を開始しました。マスターからブランチを作成し、ページで新しいことを始めました。私たちは定期的にコミットしていますが、コードをマスターにリベースできるのは私だけです(同僚の変更が重すぎて、まだマスターからデプロイできないため)。残念ながら、私たちの作業の一部は同じファイルに依存しています。そのため、最終的に変更をmasterにリベースしたいと思った数日間の作業の後、多くの git 競合が発生しました。
my_branch #---#----#-#-------#----#--#-----#---#----#----#
/ \ \ \ \ \ \
master *-------*--------------*---*---*--------------*----*----*
\ /
her branch #------#-------#-----------#-----------#------------#
質問 1 は、同じファイルで作業しているときに多くの git 競合を防ぐ方法は? (または、この状況でのベスト プラクティスは何ですか?)
しかし、これで私たちの質問は終わりではありません...正確に言うと、彼女は master から自分のブランチにリベースしようとしました (変更をコミットするため)。コミット マップは次のようになります。
my_branch #---#----#-#-------#----#--#-----#---#----#----#
/ \ \ \ \ \ \
master *-------*--------------*---*---*--------------*----*----*
\ \ \ /
her branch #------#-------#----*------#-----*-----#------------#
そして、これが私たちを悩ませているものです。これらのリベース中に、彼女はそれらの競合を修正していました。しかし、git はコンフリクトの修正に関する彼女の決定を覚えていないため、別の git rebase をmasterからher-branchに行ったとき、以前のリベースで修正していたのと同じ git コンフリクトを再度修正する必要がありました。
質問 2 : masterブランチからの git rebase の後に git conflict fix を記憶するように git に指示する方法は?