ちょっと進んだGit, Githubの使い方~ブランチ活用編~
以前Gitの超入門的な記事を書きました。GitとGithubの使い方~超初級編~ - nigoblog
今回はそこから一歩進んで、これぞGitというような使い方を説明していきます。
この記事を読む前に最初に上の記事を読むことをおすすめします。
- ブランチとは?
- ブランチの作成
このような流れで説明します。
ブランチとは?
突然ですが、gitのロゴ(上部画像)の左側の図。何を示しているかわかりますか?
このロゴは
- マスター
- ブランチ
を表しています。
マスター、ブランチの使いどころ
例えばあるサイトに新しく新機能を追加させたいという時があります。しかし、既存のサイトになるべく手を加えないで完璧な状態で新機能をリリースしたいという状態になりがちです。リリース前ならば新機能の追加はそのままできるのに、ユーザーがたくさんいる状態ではなかなか既存のコードに手を付けられない。そういう時にブランチ機能を使います。
具体的には?
例えば、あるブログポータルサイトがあるとします。そこに新たにランキング機能を追加したい。その時に、ランキングブランチを作成します。ランキング機能はそのブランチのみにどんどん作っていき、最終的に完成したらマスター(既存のサイトのソースコードがある場所)にマージ(組み合わせ)します。
すると既存のサイトは通常運営しつつ新機能の作成がリスクなくできます。
ブランチの作成
というわけで早速ブランチの作成の方法をみていきます。
まずリポジトリがあるディレクトリで次のコマンドをうってください。
git branch -a
これはブランチを見るコマンドでオプションの 「 - a 」はリモートのリポジトリのブランチを見るオプションです。結果はつぎのような感じになります。
* master remotes/origin/HEAD -> origin/master remotes/origin/master
緑の文字がローカルのリポジトリのブランチで
赤の文字がリモートのリポジトリのブランチです。
つまり現在はリポジトリにブランチが無い状態です。
では早速ブランチを作成します。
git checkout -b test origin/master
checkout はブランチ移動するコマンドでオプションに「 - b 」をつけることで新しくブランチを作りつつ、そのブランチに移動するというコマンドです。
また
git branch -a
で確認すると
master * origin/test remotes/origin/HEAD -> origin/master remotes/origin/master
となり、新たにブランチが作成されたことがわかります。
この状態で
index.html
などに変更を加えてみましょう。その後、それが正しく表示されているかどうかを確認してください。
次に、index.htmlをコミットします。
git add index.html git commit
詳しくはGitとGithubの使い方~超初級編~ - nigoblogを参考に。
最後にリモートにブランチを追加します。
git push origin test
そして
git branch -a
で確認すると
master * origin/test remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/test
のようにリモートにブランチが追加されたことがわかります。
githubなんかでも確認してみるとよいでしょう。
確認後、よければマージしてマスターに機能を追加します。
それには次のコマンドを使います。
git checkout master git merge test git push
するとテストの内容がマスターに追加され、新機能として反映されます。
以上駆け足でしたが、ブランチの使い方でした。
ここまでが私が現在扱えるgitの使い方です。
これから新しく学んだ便利な使い方はどんどんブログにアップしていくのでよろしくお願いします。