リモートブランチが複数のローカルトラッキングブランチを持つことができる可能性はありますか?それとも、プッシュ/プルコマンドを混乱させますか?
2 に答える
いいですよ、なんか。
Git は特定のローカル ブランチのリモート情報を検索しますが、その逆ではありません。つまり、リモート ブランチには複数のローカル追跡ブランチはありません。複数のローカル ブランチに同じリモート トラッキング ブランチがあります。
プルすると、適切なリモート ブランチがフェッチされ、対応するリモート トラッキング ブランチが更新され、マージされます。すべてうまくいきます。その 1 つのブランチとその追跡されたブランチのみが関係します。これがあなたの本当のユースケースだと思います。
プッシュすると、通常、追跡情報はまったく使用されません。のデフォルト設定はpush.default
ですmatching
。つまり、ローカル ブランチを同じ名前のリモート ブランチにプッシュします。この場合、すべてがうまくいきます。
ただし、 に設定push.default
しtracking
た場合は、ローカル ブランチごとに適切なリモート ブランチが再度検索されますが、ローカル ブランチが同一でない場合は、すべてをそこにプッシュすることはできません! おそらく、複数のローカル ブランチが同じリモートを追跡することを考えているのであれば、単に追跡を設定したくないだけでしょうpush.default
。
混乱はないでしょう。どちらかといえば、それはあなたと、DAG、ブランチ、およびリモートがどのように機能するかをどれだけよく理解しているかにかかっています。:)