ハックガールズと学ぼう!ゼロから学ぶGit講座

第6回 ブランチを活用した開発

この記事を読むのに必要な時間:およそ 2.5 分

皆さん,こんにちは!

エンジニアアイドル「ハックガールズ」の堤沙也と濱ヶ崎美季です。

私たちと一緒にGitを学ぶこの連載も,いよいよ今回で最終回となりました。最終回はGitの醍醐味である複数人での共同開発時に欠かせないブランチを活用した開発について紹介します!

ブランチの意義

ブランチは,個人で開発をする時にも,複数人で共同開発する時にも活用できます。たとえば複数の機能を平行して開発したい場合。

上司:
来月頭までに機能Aと機能Bをリリースする!
あなた:
了解です。機能Aをリリースしたあとに,機能Bの開発に着手すれば良いですか?
上司:
それが,取引先の要望次第で,機能Bのリリースだけが先になるかもしれないんだ……。同時に下準備だけ進めておいてくれないか。
あなた:

すなわち,機能Aと機能Bの開発を同時に進めたいが,どちらを先にリリースするかはまだ未定。1つのリポジトリに対して開発する機能ですが,各々影響を与えあわない状況下で同時に開発を進めたい,といった要件で活躍します。

このとき,機能Aと機能Bを開発しているのが個人であっても,機能AをAさんが開発して,機能BをBさんが開発するという複数人での開発であっても,ブランチを分けて開発を進めれば良いということです。

masterブランチという現実世界に対して,別のブランチという,複数のパラレルワールドを作るイメージです。

図1 masterブランチからほかのブランチをつくる

図1 masterブランチからほかのブランチをつくる

illustration by Youko Watanabe

今回紹介する,ブランチに関するgitコマンドは下記の通りです。

  • git branch
  • git fetch
  • git rebase
  • git merge
  • git pull

1つ1つ見て行きましょう!

ブランチの作成

git branch

機能Aの開発用ブランチを作成したい場合は,下記のコマンドで作成することができます。

git branch feature/A (feature/Aブランチの作成)
git co feature/A (現在のブランチから,feature/Aブランチに移動する)

git fetch

また,git fetchで,リモートリポジトリの最新の履歴を現在の作業ディレクトリに取得することができます。

たとえば,共同開発チームのAさんがAブランチをリモートリポジトリにpushしていたとします。そのとき

git fetch origin(リモートリポジトリ)

で,Aブランチが自分の作業ディレクトリで扱えるようになります。

図2 他のブランチを自分の作業ディレクトリで扱える

図2 他のブランチを自分の作業ディレクトリで扱える

illustration by Youko Watanabe

ブランチの確認

引数なしで,

git branch

と実行すると,現在の作業ディレクトリに存在するブランチを確認することができます。デフォルトの状態ではmasterブランチというブランチのみが存在する状態になっていますが,作成したブランチが別にあれば,その一覧が表示されます。接頭にアスタリスクが付いているブランチが,現在のブランチです。

また,直前で紹介した git fetchでリモートリポジトリから取得したブランチを確認するには,

git branch -a

を実行します。このとき,⁠remote/origin/branch名」といった remoteという接頭辞付きで表示されているブランチがリモートリポジトリから取得したブランチです。

著者プロフィール

堤沙也(つつみさや)

早稲田大学政治経済学部卒業。ハックガールズ・パズルガールズでの活動を経て,都内のWebサービス全般を扱う企業にてWebアプリケーションやスマートフォンアプリの設計・開発を担当。主に扱っている言語は,Ruby,Python,PHPなど。


濱ヶ崎美季(はまがさきみき)

立命館大学国際関係学部卒業後,大手外資系SIer企業に入社。ハックガールズ・パズルガールズ・クエスチョンでの活動を経て,現在は株式会社SCRAPのIT・広報担当として勤務。最近は編集部上がりの厳格な先輩(コンパイラ)の下で日本語の文法と格闘中。

Twitter:@HUMMER_Q

コメント

コメントの記入