Top / GitHub / ローカル・リモートブランチとoriginのはなし

絶賛お勉強中のGitについてですが、今回整理したいのはいわゆる

git push origin master

のorigin や

git branch --set-upstream-to origin/master

にでてくる origin/master 、ローカルブランチとリモートブランチなどの件です。 オリジンってなんなのとか、 スラつけて書いたり書かなかったり、なんてのがとてもややこしいですよね。

ここでは、git clone してから git push するまで、どのようなことが起こっているかを整理しつつ、originとか origin/master とかってナンなのってのをまとめたいと思います

git clone

まず git clone したとき、ローカルのディレクトリには

が作成されます。origin/master はサーバにあるブランチだと漠然と思っていたのですが、どうもリモートのリポジトリのブランチを指し示す特別な、 'ローカルの' ブランチのようです。このことをリモートブランチと呼んでたりするんでややこしいです。

01.png

この「origin」には cloneした先のリポジトリサーバのURLが自動的に設定されていまます。

$ git config --list
....
remote.origin.url=https://github.com/xxxx/hello.git

こんな感じです

ちなみに、このリモートリポジトリのサーバ名は自由に追加することができます

$ git remote
origin
$ git remote add teamone https://github.com/xxxx/hello.git   追加(ちなみに削除はremove)
$ git remote
origin
teamone
$ git config --list
remote.origin.url=https://github.com/xxxx/hello.git
remote.teamone.url=https://github.com/masatomix/helloworld1.git

git fetch/pull/push

さて、リモートのリポジトリをcloneしたとき、ローカルには

が作成されました。このリモートブランチは originサーバを追跡する特別なブランチで、直接自分では操作しません。originサーバは他人がプッシュすることで手元のリモートブランチと異なる場合が出てくるので、git fetch origin と打つことで直近化されます。pull や pushも含めて図にするとこんな感じ。

02.png

Git - リモートブランチ


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / GitHub / ローカル・リモートブランチとoriginのはなし

現在のアクセス:6933


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS