1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. Git
  6. »
  7. 【Git】ブランチを使って履歴を分岐させる方法

【Git】ブランチを使って履歴を分岐させる方法

こんにちは、@It_is_Rです。

前回「Gitの使い方。バージョン管理する流れを、実際にやってみよう」では、 実際にGitを使ってバージョン管理する流れを学びました。

さて、4回目の今回はブランチについてです。
ブランチは作業を枝分かれして記録する機能です。

では、始めていきましょう。

R

りこ師匠! ブランチの使い方を教えてください!

りこ

そうね。ブランチは便利な機能だから覚えておくといいわ

目次
  1. ブランチとは
  2. 現在のブランチを確認( git branch )
  3. ブランチの作成( git branch )
  4. ブランチを切り替える( git checkout )
  5. ブランチをマージ( git merge )
  6. ブランチを削除( git branch -d )
  7. まとめ

ブランチとは

ブランチは、作業を枝分かれして記録するものです。
作業をさまざまな方向から進め、最後にひとつに合わせる、というふうに使います。

ブランチ

さて、ブランチにはどんなメリットがあるのでしょうか。

例えば、開発中のとりあえず動くプログラムに、なにか機能を加えたいとします。そこで、ブランチを作成し、枝分かれさせたとしましょう。

しかし、その機能を作っている最中で、もっとヤバイ機能を思いついたとします。もうそれはヤバすぎて、すぐにでも作り始めたいです。
いま作っている機能はまだバグがあるので、プログラムはうまく動作しません。しかし、そのヤバイ機能を早く作りたいのです。

そこで、いま枝分かれさせたブランチとは別のブランチを作成します。
そうすることで、今作っている機能をそのままに、そのヤバイ機能を作り始めることができます。

もちろん、そのヤバイ機能が作り終わったら、もともと作っていた機能のほうを再開し、最後にひとつに合わせます。

R

なるほど! いまの作業が終わっていなくても、自由に作りたいものから作れるんですね!

りこ

そうそう

また、チームで開発する場合にも便利です。

自分が担当している機能のためのブランチを作成し、それが完成したら、他の人が作ったブランチと組み合わせる、といったふうにも使えます。

りこ

例えばチームで開発で、あたしが作業Aを担当、あんたは作業Bを担当ってな具合にブランチを作るの
んで、それぞれそのブランチで作業して、最終的に組み合わせるの
この組み合わせることを、マージっていうから覚えておいてね

R

マージ?

りこ

うん、マジ……

りこ

……えっ?

R

えっ?

では、ブランチの使い方をみていきます。

現在のブランチを確認( git branch )

まず、現在のブランチを確認してみましょう。
ブランチの確認には、git branchを使います

$ git branch
* master

もしブランチを作成していれば、ブランチ名が表示されます。
今回はまだブランチを作成していないので、表示されるのはmasterのみとなります。

このmasterというのが、デフォルトのブランチです。

りこ

このmasterブランチでは、ちゃんと動作するコードを置いておくのがいいね

R

なるほど。ブランチを使って分岐させておいて、ちゃんと動作するようになってからmasterにマージすればいいんですね!

ブランチの作成( git branch )

作業履歴を分岐させたい場合、ブランチを作成します。
ブランチを作成するには、git branchを使います。さきほどの、ブランチを確認するコマンドと同じですが、作成するときはそのうしろにブランチ名を入れます。

$ git branch new_branch
$ git branch
* master
  new_branch

今回はnew_branchというブランチを作成しました。

ブランチを切り替える( git checkout )

ブランチを切り替えるには、git checkoutを使います。

$ git checkout new_branch
$ git branch
  master
* new_branch

これで、今作ったブランチで作業を行うことができます。

また、ブランチの作成と移動を同時に行うこともできます。

$ git checkout -b new_branch
$ git branch
  master
* new_branch

ブランチをマージ( git merge )

先ほど作ったnew_branchでの作業、変更が完了したとします。
そこで、masterブランチにまとめたいわけです。

masterブランチにまとめたいわけですので、まずは、今いるブランチからmasterに移動しましょう。

$ git checkout master

ブランチをマージするには、git mergeを使います。

$ git merge new_branch
Updating 730d491..97d8d54
Fast-forward
 script.js | 1 +
 1 file changed, 1 insertion(+)

すると、new_branchで作業していたものが、masterにも反映されます。

ブランチを削除( git branch -d )

masterに反映されたので、new_branchはもう必要ないと思ったとします。
そこで、new_branchを削除してみましょう。

ブランチを削除するには、git branch -dを使います。

$ git branch -d new_branch
$ git branch              
* master

以上の流れで、作業したものはmasterに反映され、new_branchも削除され、masterを変更することができました。

まとめ

ブランチを使うと、作業を枝分かれさせることができ、個人での開発も、チームでの開発も、とても便利になります。
自由に作りたい機能から作っていけるので、作業効率を高めることができます。

R

りこ師匠! ブランチって10回言ってください!

りこ

10回? ブランチ、ブランチ、ブランチ、ブランチ……

R

朝食は英語で?

りこ

ブレックファースト?

R

はっ……りこ師匠がbreakfastという英単語を知っていたなんて……
ここまで言っておいて後には引けない。最後の手段だ
必殺、七年ゴロシ!

りこ

ぎゃ、て……てめーっ! (蹴


りこ
R
sky
R
R
R

ぎぇぇーっ! 今日晴れてるのに雨が!

りこ

汚ない! こっちくんな!

R

ひ、ひどい!

このシリーズの一覧はこちら

  1. GitHubのアカウントを作成する方法
  2. 【Mac】Gitのダウンロードとインストールの手順
  3. Gitの使い方。バージョン管理する流れを、実際にやってみよう
  4. 【Git】ブランチを使って履歴を分岐させる方法
  5. 【Git】リモートリポジトリへPushする方法

スポンサードリンク

関連コンテンツ

オススメ記事

文字を一文字ずつ表示してみよう!

【JavaScript】改行と一文字ずつ画面に表示する方法! 小学生からのプログラミング入門

小学生からのJavaScript講座です。このシリーズでは、ゲームをつくりながらJavaScriptの使い方を学んでいきます。 前回、画面に文字を表示するためのクラスを作ったのですが、それをも

【Android Studio】Button(ボタン)を作る基本中の基本。

ボタンを作る基本中の基本ですが、ボタンを作ること自体が基本中の基本です。@It_is_Rです。 タイトルなんてどうだっていいんです。肝心のなのは真心です。 Androidアプリ開発、7回目となりまし

【初心者向けJavaScrip入門】変数を使いこなすための、かなり詳しい解説

変数は、数値や文字列などのデータを入れておける箱です。プログラミングをはじめて、最初のほうで覚えるものですが、変数は意外と奥が深いものです。 そこで今回は、JavaScriptにおける変数の使

【enchant.js入門】ガンシューティングゲームの作り方を完全解説!

enchant.jsを使ってガンシューティングゲームの開発を行なっていきます。 enchant.jsはゲームを作るのに特化したJavaScriptフレームワークです。 これを使うことで、Jav

Dockerでよく使うコマンドとオプション、その使い方を徹底解説!

人生に意味は求めない。それよりもDockerのコマンドの意味を理解する方が重要です。@It_is_Rです。 Dockerにはたくさんのコマンドがありますが、まずはよく使うコマンドを覚えていきまし

【Gulp4】gulpfile.jsを複数ファイルに分割して、作業効率を上げよう!

Gulpを使って開発を進めているいると、だんだんとgulpfile.jsが複雑になり、どこになにが書いてあったか分からなくなることがあります。そんなときは、gulpfile.jsを分割して管理すると

Pythonのtkinterを使って、ウィンドウを表示してみよう!

さて、今日《きょう》もたのしくプログラミングを学《まな》んでいきましょう! 前回《ぜんかい》、Python《パイソン》でじゃんけんゲームを作りましたが、それは文字《もじ》だけのとてもシンプルな

パスの書き方を覚えるべ!

パスの書き方を覚えよう。絶対パス、相対パス、ルート相対パスの違い

みなさん、こんにちは。今日もプログラミングの勉強《べんきょう》をはじめていきましょう。 今回は、パスの書き方について学びます。パスというのは、ファイルの場所《ばしょ》を、パソコンに教《おし》え

【Xcode7】Swift2でMacアプリ開発。Storyboardでボタンを作る。

喧嘩するほど仲がいいとは言いますが、喧嘩する相手がいません。友達がいないということでしょうか。@It_is_Rです。 前回、StoryboardでMacのウィンドウに文字を表示しました。しかし、

Unityのダウンロードとインストールの方法【Mac】

UnityはUnity Technologiesのゲームエンジンです。2D、3Dゲーム両方に対応しており、大手企業も使用してゲームを開発している、とても高機能なツールです。 Unityにはいく

コメントを残す(コメントは承認後に反映されます)

メールアドレスが公開されることはありません。