1. ホーム
  2. git

git コマンドの 'origin' と 'remote' の違いは何ですか?[重複しています]。

2023-09-27 12:17:06

質問

git の専門用語では originremote は同じものですか?それとも origin はローカルディレクトリを参照するのでしょうか?

の場合 git push -u origin master : 次の解釈のうち、正しいものはどれか。

  1. "すべてを'origin'というリモートリポジトリとそのブランチ'master'に上流にプッシュする "。
  2. "すべてのものを 'origin' というローカルのオリジン リポジトリから上流の 'master' ブランチにプッシュします"

どんな説明でも感謝します!

私の質問に対する回答は、私にとって2つの問題を明確にしました。

  1. origin は、リモート レポのローカル クローン コピーではなく、リモート レポを指します。これは、次のように読むと明確ではありません。 origin のエイリアスである remote の時に作成され git clone
  2. origin でリモートレポを参照します。 git push -u origin master でリモート レポを参照します。なぜなら、レポのローカル コピーは暗示的であり、"めったに参照されないからです。

どのように解決するのですか?

git の専門用語で origin はリモートのデフォルト名であり、そのリモートは元々クローンされたものです。 これは、同じように source または remote1 または、単に remote .

覚えておいてください git はピアツーピアの分散システムであり、クライアント/サーバ、マスター/スレーブ、親/子の関係といった概念を内蔵したものではないことに注意してください (特定のシナリオでユーザーによってそれらが課されることはあるかもしれませんが)。

すべてのリモートは平等です。 origin は単純に(文字通り)それらの等しいものの中で最初のものです(クローンされたレポの場合) :)

そして、Jan がコメントで指摘しているように、各リモートに関連付けられた名前は、あなたの便宜のために意図されたものです。 もし、あなたが origin が本当に機能しないことがわかったら、それを変更することができます。

の解釈については push 文の解釈としては、最初のものが最も正しいのですが、書かれているとおりのプッシュコマンドは、ローカルの master ブランチを master という (ローカルに設定された) 名前で識別されるリモート上の origin .

がない場合は master ブランチがない場合、それが作成されます。

プッシュコマンドの詳細やフラグ、オプションなどについては、もちろんdocsをご覧ください。 .

操作はレポのコンテキストで実行されるため、「ローカル」レポを明示的に参照することは(もしあったとしても)ほとんどありません。