Git

すぐ分かる! git の origin と master ってなんだ?

More than 3 years have passed since last update.


前提知識

Gitは、分散レポジトリ

だから

「どのレポジトリ」の「どのブランチ」かを指定しないとわからないよ!


origin と master


  • origin: レポジトリの場所(URL)の別名

  • master: ブランチの名前

つまり、"git pull origin master" は、originという名前のレポジトリのマスターブランチから、git pull しろと命令している。


デフォルト

origin と master はデフォルトだよ。

つまり、 "git pull" = "git pull origin master"


別名はどこを指してるんだよ?

% git config --list

以下みたいにどこを指しているかわかる!

remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

remote.origin.url=https://github.com/ユーザ名/レポジトリ名.git


俺だって別名つけてーよ

GitHub のレポジトリに名前つけちゃおう。


git remote add 別名 https://github.com/ユーザ名/レポジトリ.git



git remote add upstream https://github.com/user/repositry.git


あちこちのレポジトリを追加して、あちこちに push すればいいさ。


別のレポジトリに push しちゃうぜ

GitHub から持ってきたソースを Bitbucket にpush しちゃおう。

Bitbucketのサイトでレポジトリを新規作成してから

git remote add bitbucket https://ユーザ名@bitbucket.org/ユーザ名/レポジトリ名.git

で、 git config --list


remote.bitbucket.url=https://ユーザ名@bitbucket.org/ユーザ名/レポジトリ名.git

remote.bitbucket.fetch=+refs/heads/:refs/remotes/gitbreak/


push する

git push はデフォルトでは、同じブランチ名がリモート上にある場合、全部のブランチを push しちゃう?

git push -b bitbucket master