Q.
origin/main とmain とorigin mainの違いは何か?
(main は、masterと同じ意味)
A.
originとは
リモートリポジトリのアクセス先に対してGitがデフォルトでつける名前です。
この説明だとイメージしづらいかと思うので、実際にリモートリポジトリのアクセス先の設定を以下コマンドで確認してみます。
リモートリポジトリのアクセス先
(例. https://github.com/donchan922/rails-board.git
)がorigin
という名前で設定されていることがわかります。
改めて以下コマンドを見てみます。
これらは、リモートリポジトリ(例. origin = https://github.com/donchan922/rails-board.git
)に対して、push
やpull
を行っているということです。
凡人: 「origin/main」と「main」と「origin main」って何が違うの?
恋するコンピュータサイエンス: いい質問だね!まず、「origin」はGitでリモートリポジトリのアクセス先に対してデフォルトでつけられる名前だよ。
凡人: リモートリポジトリって?
恋するコンピュータサイエンス: リモートリポジトリはインターネット上にあるコードの保存場所のこと。たとえばGitHub上のプロジェクトのリポジトリだね。
凡人: じゃあ、「origin/main」は何?
恋するコンピュータサイエンス: 「origin/main」は、リモートリポジトリ(つまり「origin」)の「main」ブランチを指すんだ。ここで「main」はブランチの名前で、ローカルの中心となる統合ブランチを指すよ。
凡人: なるほど。では、「origin main」は?
恋するコンピュータサイエンス: 実は「origin main」という用語はそのままでは正しくないんだ。でも、コマンドの文脈では意味があるよ。例えば、「git push origin main」はリモートリポジトリ「origin」の「main」ブランチにデータを送ることを意味する。
凡人: なるほど、それぞれが違うものを指してるんだね。分かりやすい説明ありがとう!
origin main
originはリポジトリの名前でmainはブランチの名前になります。
デフォルトの設定の場合、originというリモートリポジトリのmainブランチを表します。
main(ブランチ)
ローカルの中心となる統合ブランチで、他のローカルの作業ブランチと繋がったもの。
参考