Gitを使ってみよう!【ブランチ編】

Git

こんにちは、ECF Techブログ
担当 Michiです。

今回はGitを使ってみようシリーズの第4回「ブランチ編」です。よろしくお願いします。

本記事は、前回記事からの続きとなっています。本記事のみでもご活用いただける配慮はしておりますが、もしGitを初めて見たいというかたはどうぞご活用ください。

対象読者

  • コマンドプロンプト上でのコマンドである cddirを使ったことがある
  • エクスプローラでファイル操作ができる
  • バージョン管理やgitって何?という方
  • ハンズオン形式で試せる資料がほしいという方

※なお、本資料はWindows向けの資料となっています。

前回はGitの基本となる操作をご紹介しました。今回は、バージョン管理機能の要ともいえるブランチについて学んでいけたらと思います。

ブランチとは

Gitを含め、バージョン管理システムでは特定の領域のファイルの変更履歴を記録しています。履歴ですので、次のような時間軸で記録されています。

ブランチはこの変更履歴を枝分かれさせて持つしくみです。

実際のシステム開発では1つの機能追加に何日も要するということも珍しくありません。そのため、自分だけの変更履歴をつくり、プログラムの変更記録を取りながら少しずつ開発を進めたいという要望があります。ブランチはそのような要望にこたえてくれるものです。

ブランチを作ってみよう

では実際にブランチを使っていきましょう。今回は開発者のAさんがprogram01.txtに記載されている機能Bのプログラムの別バージョンを試しに作成する。という想定で行ってみましょう。

ここからは前回記事の続きとして作成しますので、ご覧になりたい方はこちらのリンクをご利用ください。

ではまずコマンドプロンプトを開き、ローカルリポジトリを作成した C:\work01\hello_repoに移動します。

早速ブランチを作ります。 git branch ブランチ名のコマンドでブランチを作成することができます。今回はAさん専用ブランチということで、onlyAという名前にします。

  • リポジトリを作った時点から存在するブランチにはあらかじめ「master」という名前がついています。
  • ブランチを作成することを「ブランチを切る」という場合があります。

次のコマンドを実行してください。

これでブランチが作成されました。が、まだ作成しただけです。作成したブランチで作業履歴を残していくためには、ブランチを切り替える操作が必要となります。この操作はチェックアウトと呼ばれ、 git checkout ブランチ名コマンドで行なうことができます。次のとおり入力します。

実行結果

作業ブランチが切り替わりました。

ではこのブランチでプログラムを作成していきましょう。program01.txtを開き、次のようにします(※2行目が追加になっています)。

計算できる機能Aに新しい機能が追加されたイメージです。

ではこの時点でコミットしましょう。下のコマンドでファイルをコミット対象にします。

この時点で git statusコマンドを使って、いまのリポジトリの状態を見てみましょう。次のコマンドになります。

実行結果

ブランチがonlyAであること、program01.txtが modified(修正されている) 状態であることがわかります。

では、 git commitコマンドでコミットしましょう。次のコマンドを実行します。

実行結果

コミットが完了しましたので、元のブランチに戻ってみましょう。ブランチの移動は git checkout ブランチ名です。次のコマンドを実行します。

ブランチを移動したら、program01.txt を開いてみましょう。

追加したA-2の機能がなくなり、元に戻っていることがわかります。つまりmasterブランチは全く別の管理であることがわかります。

これで今後どれだけブランチでの作業を行なったとしても、すぐに元の状態に戻すことができます。

ではonlyAブランチに戻って作業を続けましょう。次のコマンドでブランチを移動します。

移動したらprogram01.txtを開き、次のようにします。(※3行目が追加になっています)

保存したら次の流れで、コミットします。

実行結果

コミットが完了しました。このあとこれらの追加プログラムの動作テストを終え、本来のプロジェクトであるmasterブランチにプログラムを統合することになったとしましょう。この統合作業はマージ(merge)と呼ばれています。

マージをしよう!

マージを行なうのは簡単です。 git mergeコマンドを利用します。今回onlyAブランチをmasterブランチにマージしたいので、一度masterブランチへ移動します。

実行結果

次に git mergeコマンドを実行します。

実行結果

マージが正しく完了しました。マージ作業が正しく完了すると、そのブランチにおけるコミットも終了した状態となります。またマージ(統合)したからといって、onlyAブランチがなくなったわけではありません。

masterブランチの状態でprogram01.txtを開いてみましょう。

onlyAブランチで行なった変更が反映されています。

ここまでの各ブランチの履歴をまとめると、下図のイメージとなります。
※図中の時間はイメージです。

最後にリモートリポジトリにPushしておきましょう。次にコマンドでOKです。

おわりに

今回はここまでとさせていただきます。最後までご覧くださりありがとうございました。

ブランチを活用できると機能追加を試したり、Webサイトの別のデザインを試したりなど、気軽にテスト作業ができるようになります。どんどんブランチを作っていきましょう。(※Gitではブランチをどんどん作って作業をするスタイルが推奨されています。)


合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。

ECFエデュケーション
キッズも大人も。沖縄からITのマナビを応援します
タイトルとURLをコピーしました