git pushを実行すると、3つのブランチが表示されます。 1)私が作業しているローカルブランチ、 'foo1' 2)ローカルリモートトラッキングブランチ 'origin/foo2'(常にプッシュ/プル後のリモートfoo3と同じコミットになります)3) 'foo3'リモートリポジトリ。当然通常はそれらはすべてfooと呼ばれますが、別の名前が必要なので、私はgitを正しく理解してこの質問をここで聞くことができます。私はどこでfoo2を指定できるのかわかりません。私が行うとgit pushの 'origin/master'部分を指定します。
git push origin foo1:foo3
そして持つ
[branch "master"]
remote = origin
merge = refs/remotes/origin/foo2
私.git/configにそのポイント1と3はOKですが、私は私の地元のレポの原点/ foo2はありません。私は何が欠けていますか?または、私のリモートトラッキングブランチが
の場合は常にという名前のリモートと同じ名前の答えがあります。これは私にとってはうまくいくでしょう - 私はgitを正しく理解したいと思っています。
git-pushマニュアルでは、私の例では2つのリファレンス(refspec srcとdst)、ポイント1と3だけについても説明しています。リモートリポジトリのdstブランチが更新された後のマニュアルの話は、どこで更新されますか?
@ VonCの回答は正しいです(もちろん:-))。ここでの根本的な問題は、あなたが 'プッシュ'と 'プル'の間の見かけ上の対称性を乗り越えていることです。それは間違った対称性です。 'push'の反対は' pull'ではなく 'fetch'です。 (それでも、それらは正確に対称ではありません)。そのことを念頭に置いて、すべてが理にかなっているはずです。 – torek