トラッキングオプション付きブランチA
から新しいgitブランチB
を作成しました。親ブランチから現在のブランチを更新する
A
ブランチがわずかなコミットで更新されると、私はコミットをB
にも引き出したいので、それを追跡して後で大きな変更に直面する必要はありません。
私はこれにどのようにアプローチすればよいですか?それはgitで自動的に行われますか?
トラッキングオプション付きブランチA
から新しいgitブランチB
を作成しました。親ブランチから現在のブランチを更新する
A
ブランチがわずかなコミットで更新されると、私はコミットをB
にも引き出したいので、それを追跡して後で大きな変更に直面する必要はありません。
私はこれにどのようにアプローチすればよいですか?それはgitで自動的に行われますか?
これは自動的に行われません。あなたは手動でAからBへの変更をマージする必要があります。これはかなり簡単です。 B.に合併としてだけで分岐Bに切り替えて、自動的に限り、あなたは任意の競合を持っていないとAからBに変更をマージします
git merge A
を行い、Aの変化の全てがマークされます一般的なベストプラクティスは毎日のマージを行うことですが、ブランチを使用するユーザー数/コミット数に依存します。
Aがリモートブランチであり、Bがローカルブランチであると話している場合は、git pullで十分です – HackerGil
B
の呼び出しがgit clone /path/to/server/A
だったとすると、git pull
を実行するだけで済みます。それはの動作です。最初にfetch上流からの変更(場合によっては追跡されたブランチA
)、mergeこれらの変更は、追跡されたブランチ(あなたの場合はB
)を追跡するブランチに変更されます。
Git Bookとは、そのトピックについて深く議論していますので、読んでみる価値があります(あなたが急いでいなければ、残りの部分も読んでください)。
ちょっと、ちょっと不思議です。実際にAからクローンを作成してブランチBを作成したのかどうかはわかりません。ブランチの 'git branch A'を作成しました。だから、私がgit pullを行うと、gitは 'あなたがマージしたいブランチを教えてくれないと私に尋ねてきます。' – user482594
@ user482594: 'pull'はあなたがリモート。もしあなたが 'A'にいて' git checkout -b B'を実行しただけの場合、単に 'merge'(' B'の間に 'git merge A'と入力してください)することができます。 – eckes
実際に分岐Aは、分岐Aからのフィードという以外に何も追加枝を追跡していますか? –
ブランチBをAでリベースする必要があります。 –