こんにちは
かねしろ@pinkrootです。
一つ前の記事、
githubに複数人でpushしたりpullしたりした
の続きです。
今回はbranchについてまとめます。
ローカルでブランチ
まずはローカルでbranchを作成しましょう。
「そもそもbranchとは?」という人は入門gitか、このブログ記事を読むといいと思います。
branchを作成するコマンドは以下です。
1 |
git branch hoge |
これでhogeというbranchが作成されました。
現在あるbranchを確認するには以下のコマンドを実行するといいです。
1 |
git branch |
現在、masterとhogeが存在するはずです。
masterはデフォルトのbranchで、hogeが今作成したbranchになります。
現在触っているbranchはmasterになっているはずなので、hogeに切り替えましょう。
以下のコマンドです。
1 |
git checkout hoge |
もう一度
1 |
git branch |
を実行するとbranchが切り替わっているのが分かるはずです。
あとはソースをいじってcommitすると、そのbranchに対してcommitが実行されることになります。
githubにbranchをアップロードしよう
githubにbranchをアップロード(push)するコマンドは以下。
1 |
git push origin hoge |
originは前々回のエントリでリポジトリへのURLを格納したものです。
つまり、このコマンドで
「originが指定しているURLのリポジトリに、hogeブランチをpushしとくれ」
という意味になります。
他人が作成したbranchをgithubからpullする
視点を別の人に移してみます。
この人は現在master branchしか持っていません。
ふとgithubをチェックしてみると、hogeというbranchが作成されていることに気付きました。
彼がhogeブランチをpullするためには以下のコマンドを実行するといいのです。
1 |
git checkout -b my_hoge origin/hoge |
このコマンドにより、彼のローカルリポジトリにはmy_hogeというbranchが作成され、そこにgithub上のhogeブランチがpullされてきます。
なお、pullする際にローカルにある最新のコード(masterブランチ)とマージされたものがmy_hogeというブランチで作成される、という流れになるようです。(このあたりはまだちょっと不勉強。)
また、
1 |
git pull origin hoge |
とやるとmasterにたいしてhogeがマージされる模様。
後日詳しくテストしてみます。
あと、自作のbranchをいじっている状態でpullしようとすると
「なんかbranchが違うっぽい」
的なエラーが出るので気をつけてください。
とりあえずmasterに切り替えておけばpullは問題なさそうです。
ということで、駆け足ではありましたがこれで
・gitでバージョン管理
・githubにpush
・githubで複数人で管理(pushしたりpullしたり)
・branchも分けてみる
ということができるようになりました。
参考にしたのは以下の本です。
とてもいい本でした。
まだ読んでない部分や試していないことがあるので、まだしばらくはイチャイチャしてみたいと思います。