git コマンドの 'origin' と 'remote' の違いは何ですか?[重複しています]。
質問
git の専門用語では
origin
と
remote
は同じものですか?それとも
origin
はローカルディレクトリを参照するのでしょうか?
の場合
git push -u origin master
: 次の解釈のうち、正しいものはどれか。
- "すべてを'origin'というリモートリポジトリとそのブランチ'master'に上流にプッシュする "。
- "すべてのものを 'origin' というローカルのオリジン リポジトリから上流の 'master' ブランチにプッシュします"
どんな説明でも感謝します!
私の質問に対する回答は、私にとって2つの問題を明確にしました。
-
origin
は、リモート レポのローカル クローン コピーではなく、リモート レポを指します。これは、次のように読むと明確ではありません。origin
のエイリアスであるremote
の時に作成されgit clone
-
origin
でリモートレポを参照します。git push -u origin master
でリモート レポを参照します。なぜなら、レポのローカル コピーは暗示的であり、"めったに参照されないからです。
どのように解決するのですか?
git の専門用語で
origin
はリモートのデフォルト名であり、そのリモートは元々クローンされたものです。 これは、同じように
source
または
remote1
または、単に
remote
.
覚えておいてください
git
はピアツーピアの分散システムであり、クライアント/サーバ、マスター/スレーブ、親/子の関係といった概念を内蔵したものではないことに注意してください (特定のシナリオでユーザーによってそれらが課されることはあるかもしれませんが)。
すべてのリモートは平等です。
origin
は単純に(文字通り)それらの等しいものの中で最初のものです(クローンされたレポの場合) :)
そして、Jan がコメントで指摘しているように、各リモートに関連付けられた名前は、あなたの便宜のために意図されたものです。 もし、あなたが
origin
が本当に機能しないことがわかったら、それを変更することができます。
の解釈については
push
文の解釈としては、最初のものが最も正しいのですが、書かれているとおりのプッシュコマンドは、ローカルの
master
ブランチを
master
という (ローカルに設定された) 名前で識別されるリモート上の
origin
.
がない場合は
master
ブランチがない場合、それが作成されます。
プッシュコマンドの詳細やフラグ、オプションなどについては、もちろんdocsをご覧ください。 .
操作はレポのコンテキストで実行されるため、「ローカル」レポを明示的に参照することは(もしあったとしても)ほとんどありません。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] git add -A」と「git add .」の違い。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[git push] 解決策: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
-
解決策 このリポジトリでは、別の git プロセスが実行されているようです。たとえば、「git commit」によって開かれたエディタなどです。
-
git occurs このリポジトリで別のgitプロセスが動作しているようです。例えば、.NETで開いたエディタなど。エラー
-
GitのPlease enter a commit messageで、このマージが必要な理由を説明してください。
-
[解決済み] Gitの「オリジン」とは何ですか?
-
[解決済み] Git は、省略形のコミット ID が 2 つの異なるコミットを参照する場合に警告を発しますか?
-
[解決済み] GitHub: フォークを "自分のプロジェクト "にする
-
[解決済み] CVS から Git への移行: $Id$ 相当?
-
[解決済み] 非標準のポートでリモートリポジトリを使用する
-
[解決済み] Git のプッシュが "non-fast-forward" で拒否されました。