リモートはちょうど単語です:他のGitリポジトリをどこかで識別するための名前です。
文字列origin
は、git clone
が他の( "origin" -al)Gitリポジトリからクローンすると、自動的に入れられる(単数)リモートのデフォルト名です。他の名前を選択したり、リモコンを追加したりできます。各リモートには少なくともURLがあり、これは他のリポジトリが見つかる場所です。
git push
の場合、3番目の語句は、さまざまなフラグを追加する場合は必要に応じてこの数値を調整します。この場合は-u
を追加しました。これで4番目の単語になりました。これは通常、一部のリモートの名前です。
残りの単語は、枝のペアとして(あなたが:-)をカウントする方法に応じて、正確ではない実際には正確に100%...、50%未満ですが)にまとめることができ、すべてのrefspecs、ありますコロンで区切られた名前。
master
のように1つのブランチ名しか書いていない場合、Gitはこれを "上流が使用されている場合は上流を使用する"と解釈し、そうでない場合はコロンの後に同じ名前を使用します。通常、アップストリームが設定されている場合、同じ基本名を持つので、master
は通常、master:master
という意味になります。 Gitはあなたのブランチ(左の名前)のにあるリモートのURLにあるGitをコミットし、のブランチ(右の名前)を同じチップに設定するように求めますその枝のために押された。
refspecを入れないと、GitのデフォルトはGitのバージョンによって異なります。 Gitバージョン2.0以降、デフォルトではの現在のブランチをリモートの同じ名前のブランチにプッシュします。
-u
フラグがプッシュが成功した場合、それはあなただけプッシュブランチのため上流を設定する必要があり、git push
を伝えます。
ブランチの上流は、リモートの名前とそのリモートのブランチの名前の2つの部分に分かれています。あなたがgit push
を与えたので、それが成功した場合、origin/master
へmaster
ための上流を設定します暗示master:master
master
から-thisからmaster
リモートの両方の項目名はorigin
だった、との分岐は、第二(ポストコロン)でした。
(編集:あなたはかなり合法的に、かもしれない、/
はorigin/master
の上流設定でから来たことは、部分的に歴史的なアーティファクトだ残念ながら、それは混乱の膨大な量につながる今のところ、ただ不思議。。。 リモート、ブランチ、リモートトラッキングブランチはすべてGitのさまざまなものですが、それらはすべてさまざまな方法で関連していますが、それらは同じではないことを覚えておくことが重要です非常に具体的な意味を持つ。のトラックという単語もded。
'git remote' *はコマンドですが、' git origin 'はありません。 – Bergi
"そのオリジナルのエイリアスをリモートの"エイリアス "と読んだとき、あなたはその作品を誤解していた可能性が高いです。 –
私は通常、原点を* a *リモコンの名前と考えています。任意の名前の複数のリモコンがあります(例:オリジン、アップストリーム、ダウンストリーム、ミラーn、ワークサーバー、ホームサーバーなどがあります。 – Toby