機能ブランチをその親ブランチと同期させるためのより良い提案があるかどうか知りたいです。
通常、一度に作業される機能ブランチは複数あり、それぞれがブランチから派生しています。機能ブランチが1 日develop
に数回マージされることはよくあります。develop
変更を常に把握する (つまり競合を解決する) ためには、現在作業中の機能ブランチを最新の状態に保つ必要があることがわかりましたdevelop
。
これを実行するには、次のコマンドを 1 日に数回実行します。
git checkout develop
git pull
git checkout feature/foo
git merge develop
git push
最後の作業は、git push
通常、機能ブランチで他のユーザーと作業している場合にのみ行います。
これを行うためのより良い、またはより便利な方法はありますか?
ベストアンサー1
まあ、git は実際に、頻繁に行う作業をスクリプトにラップし、代わりにスクリプトを呼び出すように設定されています。上記には、それほど多くのバリエーションはありません。それらはすべて、上流ブランチをプルし、その後、変更を上流の変更と統合する必要があります。これを短縮できるものには、次のようなものがあります。
git checkout feature/foo
git fetch --all
git merge --into-name=develop origin/develop
git rebase develop
こうすることで、他のブランチに切り替えることなく、上流ブランチをすべて 1 回でプルできます。また、リベースはマージよりも好ましい操作かもしれませんが、履歴をどのように表示したいかによって、多くの場合は個人的な選択になります。