書籍「Pro git」では、ブランチを導入する際に上流ブランチの概念について言及しています。
リモート トラッキング ブランチからローカル ブランチをチェックアウトすると、「トラッキング ブランチ」と呼ばれるブランチ (「アップストリーム ブランチ」と呼ばれることもあります)
ここから、ここで言及されている上流ブランチは、リモート ブランチからチェックアウトされた local ブランチを参照していることがわかります。
ただし、この本の後半で「上流ショートカット」について言及する場合、この上流ブランチは local ブランチを指しません。
追跡ブランチを設定した後、@{upstream} または @{u} ショートカットを使用してそれを参照できます。したがって、マスター ブランチ上でオリジン/マスターを追跡している場合は、必要に応じて git mergeorigin/master の代わりに git merge @{u} を使用できます。git を使用してリモート ウェアハウスにプッシュするとき、上流ブランチの概念がよく出てきます。たとえば、初めてリモートにプッシュするときは、パラメーターを追加しません:
リーリー
次に、git はすぐに上流ブランチをセットアップするように求めるプロンプトを表示します。
fatal: 現在のブランチ マスターには、対応する上流ブランチがありません。ここでの上流ブランチは、現在のブランチをプッシュし、リモート上流との追跡を確立するには、
を使用します。
git Push --set-upstream オリジン マスター
remote ブランチも参照しているようです。
そこで疑問が生じます。「上流ブランチ」とは正確には何ですか? 「Pro git」という本には正確な概念が記載されておらず、上流ブランチは相対的な概念にすぎないとインターネット上でも言われています。
簡単に言えば、上流はローカルブランチに対応するリモートブランチです。プルまたはフェッチをプッシュするときにリモートブランチを指定しない場合は、上流ブランチが使用されます。
こんにちは、まず第一に、私は Git の本を一冊も読んだことがありませんが、長期的な実践を通じて学んだ Git の操作には非常に熟練しているとあえて言えます。もしかしたらあなたの混乱が理解できるかもしれません!
まず第一に、脳は中央倉庫の概念である以前の SVN にとどまることはできません。まず第一に、Git には中央リポジトリが存在しないため、ローカル コードのどの部分をリモート コードに送信する必要があるかという疑問が生じます。
git branch --set-upstream branch
このブランチはリモート ブランチです。リモート ブランチを追跡するために既存のブランチを設定します。リモート追跡ブランチを設定した後、コマンドを通常通りに簡単に入力できます: git pull; git psuh;たとえば、初めてリモートをプッシュするときは、パラメーターを追加しませんでした:
git Push
その後git すぐに上流ブランチを設定するように求められます:
次に、git Push オリジン マスターを実行する必要があります。デフォルトでは、現在のリモート ブランチがメイン ブランチです。
通常の使用法によれば、上流ブランチはリモート ライブラリのブランチを指します。このライブラリは、github のアカウントであることも、現在の set-upstream を含む特定のサーバー上のディレクトリであることもあります。ブランチは他のライブラリのブランチに接続されているため、コードのセットを自分で行うのではなく一緒に変更できます