2012-03-06 4 views
32

誰かが親ブランチと同期して機能ブランチを維持するためのより良い提案があるのだろうかと思っていました。git機能を最新の状態にするための簡単な方法

通常は、それぞれがdevelopブランチから派生した複数の機能ブランチを同時に処理しています。フィーチャーブランチをdevelopに1日数回マージするのはかなり一般的です。

私は変更点(解決策の競合)を克服するために、私が積極的に最新のdevelopで作業している機能のブランチを維持する必要があることを知りました。これを行うには

私は、これらのコマンドに数回の日を実行します。

git checkout develop 
git pull 
git checkout feature/foo 
git merge develop 
git push 

最後git push私は機能ブランチ上の他の誰かで働いている場合、私は通常のみ行います。

これを行うにはもっと便利な方法がありますか?

答えて

38

さて、gitは実際にあなたが頻繁にスクリプトにラップしてからスクリプトを呼び出すように設定されています。上記には膨大な数のバリエーションはありません。彼らはすべて上流の支店を引っ張り、あなたの変更を上流の支店に統合する必要があります。あなたがかもしれないためにそれを短縮することがいくつかの点:あなたは、単に他のブランチに切り替えることなく、一発ですべての上流の枝を引くことができ

git checkout feature/foo 
git pull --all 
git rebase develop 

その方法。そして、リベースはおそらくあなたがマージよりも好むかもしれない操作ですが、これは歴史をどのように見せたいかによって個人的な選択になることがよくあります。

+0

さらに、git-somenameという名前のスクリプトをパス上に置くと、通常のgitコマンドと同じように呼び出すことができます。したがって、上記の3行のスクリプト "git-featurefoo"を使用すると、 1つのコマンドですべてのアクションを実行するには 'git featurefoo'と入力します。 –

+0

マークが正しいです。それだけでなく、 'git aliases'もチェックアウトすることができます。 –

+0

afaik私は決してそれを使用していないが、プル後に自動的にrebaseする可能性もあります。多分それがあなたのために行く方法ですか? – nanoquack

関連する問題