28

プルして分岐しているリモートリポジトリがあります。master に変更を加えて、新しいブランチを最新の状態に保ちたいと考えています。以下のワークフローについて考えていますが、それは理にかなっていますか、それともこれを行うためのより良い方法はありますか?

  1. 最初の分岐とチェックアウト:

    git checkout master
    
    git pull
    
    git checkout -b my_branch
    
  2. でいくつかの作業を行ってmy_branchから、定期的に:

    git checkout master
    
    git pull
    
    git checkout my_branch
    
    git merge master --no-ff
    

リモートへの定期的なプッシュを使用して、必要に応じて手順 2 を繰り返しmy_branchます。

次に、マージバックの準備ができたら:

git checkout master

git merge my_branch --no-ff

大丈夫ですか?

4

2 に答える 2

14

リベース ワークフローを使用することをお勧めします。したがって、を使用する代わりに、を使用git pullする必要がありますgit pull --rebase

機能ブランチでも同じことをします。したがって、を実行する代わりに、git merge master --no-ffを使用しgit rebase masterます。ただし、機能ブランチが開発中に同僚と共有されることを意図している場合は、マスター ブランチを定期的に機能ブランチにマージすることをお勧めします。

しかし、正直なところ、私は小さなチームで働いており、機能ブランチで一緒に作業する必要があり、それを master で最新にする必要がある場合は、作業を少しの間中断します (プロセスを明確に伝えます)。 、マスターでリベースし、機能ブランチを強制的にプッシュします。しかし、それは大規模なチームには対応できません。ただし、master からのマージを処理するよりも、master にリベースされたフィーチャー ブランチを使用する方がはるかに便利だと思います。

必ずお読みください。

Git ワークフローとリベースとマージの質問

于 2013-11-03T22:47:40.240 に答える