検索

ホームページ  >  に質問  >  本文

Git の上流ブランチの概念は何ですか?

書籍「Pro git」では、ブランチを導入する際に上流ブランチの概念について言及しています。

リモート トラッキング ブランチからローカル ブランチをチェックアウトすると、「トラッキング ブランチ」と呼ばれるブランチ (「アップストリーム ブランチ」と呼ばれることもあります)

ここから、ここで言及されている上流ブランチは、リモート ブランチからチェックアウトされた local ブランチを参照していることがわかります。

ただし、この本の後半で「上流ショートカット」について言及する場合、この上流ブランチは local ブランチを指しません。

追跡ブランチを設定した後、@{upstream} または @{u} ショートカットを使用してそれを参照できます。したがって、マスター ブランチ上でオリジン/マスターを追跡している場合は、必要に応じて git mergeorigin/master

の代わりに git merge @{u} を使用できます。
git を使用してリモート ウェアハウスにプッシュするとき、上流ブランチの概念がよく出てきます。たとえば、初めてリモートにプッシュするときは、パラメーターを追加しません:

リーリー

次に、git はすぐに上流ブランチをセットアップするように求めるプロンプトを表示します。

fatal: 現在のブランチ マスターには、対応する上流ブランチがありません。

現在のブランチをプッシュし、リモート上流との追跡を確立するには、

を使用します。

git Push --set-upstream オリジン マスター

ここでの上流ブランチは、

remote ブランチも参照しているようです。

そこで疑問が生じます。「上流ブランチ」とは正確には何ですか? 「Pro git」という本には正確な概念が記載されておらず、上流ブランチは相対的な概念にすぎないとインターネット上でも言われています。

漂亮男人漂亮男人2749日前2508

全員に返信(3)返信します

  • 仅有的幸福

    仅有的幸福2017-06-26 10:51:32

    簡単に言えば、上流はローカルブランチに対応するリモートブランチです。プルまたはフェッチをプッシュするときにリモートブランチを指定しない場合は、上流ブランチが使用されます。

    返事
    0
  • typecho

    typecho2017-06-26 10:51:32

    こんにちは、まず第一に、私は Git の本を一冊も読んだことがありませんが、長期的な実践を通じて学んだ Git の操作には非常に熟練しているとあえて言えます。もしかしたらあなたの混乱が理解できるかもしれません!
    まず第一に、脳は中央倉庫の概念である以前の SVN にとどまることはできません。まず第一に、Git には中央リポジトリが存在しないため、ローカル コードのどの部分をリモート コードに送信する必要があるかという疑問が生じます。
    git branch --set-upstream branch このブランチはリモート ブランチです。リモート ブランチを追跡するために既存のブランチを設定します。リモート追跡ブランチを設定した後、コマンドを通常通りに簡単に入力できます: git pull; git psuh;
    たとえば、初めてリモートをプッシュするときは、パラメーターを追加しませんでした:
    git Push
    その後git すぐに上流ブランチを設定するように求められます:
    次に、git Push オリジン マスターを実行する必要があります。デフォルトでは、現在のリモート ブランチがメイン ブランチです。

    返事
    0
  • 代言

    代言2017-06-26 10:51:32

    通常の使用法によれば、上流ブランチはリモート ライブラリのブランチを指します。このライブラリは、github のアカウントであることも、現在の set-upstream を含む特定のサーバー上のディレクトリであることもあります。ブランチは他のライブラリのブランチに接続されているため、コードのセットを自分で行うのではなく一緒に変更できます

    返事
    0
  • キャンセル返事