Gitのブランチとは何か?またブランチを作成、切り替える方法


branch

photo credit: ott.rebane The same pygmy owl via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。

前回の記事はこちら。

【Windows版】リモートリポジトリをローカルにクローンをする方法
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。今回は、Windowsでリモートリポジトリをローカルにクローンをする方法をお伝えします。

Windowsの場合について、リモートリポジトリをローカルにクローンする方法をお伝えしました。

これで、ようやく執筆の共同作業環境が整いましたので、執筆を進めていきたいと思います。

今回は、Gitのブランチとは何か?またブランチを作成、切り替える方法についてお伝えしていきます。

なお、技術書の制作をお題として進めていますので、事前順次や前提についてはこちらの記事からご覧いただければと思います。

では、行ってみましょう!

補足: デフォルトブランチ名はmainに変更されています

GitHubで作成したリポジトリのデフォルトブランチ名は、本記事執筆当初は「master」でしたが、現在は「main」に変更されています。

GitHub、これから作成するリポジトリのデフォルトブランチ名が「main」に。「master」から「main」へ変更
GitHubは、これから新規に作成されるリポジトリのデフォルトブランチ名が「main」になると発表しました。これまでデフォルトブランチ名は「master」でした。 既存のリポジトリにはこの変更は適用されませんが、年内にも既存のリポジトリ.....

ですから本記事について、本文内では「main」に書き換えていますが、画像内の表記は「master」のままの箇所がございます。

読みづらくて恐縮ですが、ご注意しながらご覧ください。

スポンサーリンク

前回までのおさらい

まずは、前回までのおさらいをしておきましょう。

実際に原稿を書く執筆者と、それをチェックしレビューをする編集者との2者で共同作業を進めていくことを想定しています。

その共同執筆環境として、以下の3つのリポジトリを作成したのでした。

  • GitHub上の共有・共同作業用のリモートリポジトリ
  • 編集者のローカル環境のローカルリポジトリ
  • 執筆者のローカル環境のローカルリポジトリ

ブランチを用いた共同作業

さて、ここから実際に執筆をするわけですが、その最初のいくつかの手順は以下のようになります。

  1. 執筆者が執筆を進めて、ローカルリポジトリに変更履歴を重ねていく(コミット)
  2. 執筆者はキリのいいところ(例えば1章を書き終えたなど)でリモートリポジトリにローカルの変更履歴を反映させる(プッシュ)

これで、GitHubのリモートリポジトリに変更履歴が反映されますので、それを編集者がチェックをする…という流れになります。

コミットとプッシュについては、編集者の立場ではありますが、以下の記事で紹介しています。

【ノンプログラマー向け】はじめてのGitのコミットをして変更履歴を記録する方法
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。今回は、ノンプログラマー向け、はじめてのGitのコミットをして変更履歴を記録する方法についてお伝えします。
Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。今回は、Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法をお伝えします。

さて、ここで「ブランチ」と呼ばれるものについて知っておく必要がありますので、その説明をしておきます。

ブランチとは

Gitでは、プロジェクトの変更履歴はただの一本線というわけでなく、分岐をさせて、枝分かれさせることができます。

その変更履歴の枝「ブランチ」(branch)といいます。

例えば、複数人が同時に開発や執筆をする場合、同じ変更履歴を気ままに更新していったら、わけがわからなくなります。

そうならないように、それぞれ別のブランチで作業を進めて、コミットを重ねていきます。

あるブランチが一定の作業を終えて、問題ないことが確認できたら、本流のブランチにそれを統合します。

ブランチに、枝分かれしたブランチを統合することを、「マージ」といいます。

このしくみのおかげで複数人で同時に作業を進められますし、作業するのが一人だったとしても、安定版には手を触れずに、開発・執筆・修正などの作業を進められるので安心感があります。

mainブランチとは

以前の記事で編集者が初期コミットを行ったあと、git statusコマンドでリポジトリの状態を確認したときに、以下表示があったのを覚えていますでしょうか?

On branch main

リポジトリ作成時に、最初に自動で作られるブランチ名は常に「main」となり、それを本流のブランチとして使うのが一般的です。

本シリーズでも、執筆者は別のブランチで作業を進めていきます。

一定の執筆(例えば章を書き終えたなど)で編集者に見てもらい、確定版のブランチmainにマージをしてもらうというのが、ひとつの目標となるわけです。

git branchでブランチを作成する

では、実際に執筆者の作業を進めていきましょう。

まず、現時点でブランチはmainしか存在していませんので、執筆用のブランチを作成する必要があります。

ブランチを作成するには、git branchコマンドを用います。

git branch ブランチ名

ブランチ名は、ユーザー名を表すものだったり、役割を表すものだったり、作業内容を表すものだったり、いろいろなパターンがありますが、今回はユーザー名にしておきます。

git branch ntaka

それで、作成したブランチを確認するには、git branchコマンドで以下のようにブランチ名を省略すればOKです。

git branch

実際に、作成したブランチを確認してみました。

git branchでブランチを確認する

ブランチとしてmainとntakaが存在しているということがわかります。

mainが緑の文字色で、「*」が付与されているのは、「現在いるブランチがmainだよ」ということを表しています。

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

実際の執筆作業の履歴はmainではなく、新たに作成したブランチntakaに記録をしていきたいわけですから、作業するブランチを切り替える必要があります。

そのためには、git checkoutコマンドを用います。

git checkout ブランチ名

今回の場合は、以下コマンドでOKですね。

git checkout ntaka

実行すると以下のように「Swiched to branch ‘ntaka’」と表示され、プロンプト表示の水色部分も「(ntaka)」に変更になりましたね。

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

これで、新たに作成したブランチで、変更履歴を記録していくことができるようになりました。

まとめ

以上、Gitのブランチとは何か?またブランチを作成、切り替える方法についてお伝えしました。

ブランチは少しややこしい考え方かも知れませんが、これによって共同作業が安心・スムーズに進められるわけですね。

次回は、新たなブランチで執筆作業を進めていきます。

Gitで原稿の変更履歴をコミットし、リモートにプッシュする方法
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。今回は、原稿の執筆を進め、その変更履歴をGitコミットし、リモートにプッシュする方法をお伝えします。

どうぞお楽しみに!

連載目次:ノンプロ向けGit・GitHubで技術同人誌を共同制作しよう!

コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動をより魅力的にすべく、メンバーの皆さんと技術同人誌を制作するプロジェクトをスタートしました。このシリーズでは、プロジェクトの概要や、ベースとなる技術情報をお伝えしていきます。
  1. 技術同人誌とそのメリット&ノンプロ的な作り方の手順について
  2. 【ノンプログラマー向け】Gitによるバージョン管理の超基礎知識
  3. Windowsノンプログラマー向けバージョン管理ツールGitをインストールする方法
  4. Windowsノンプログラマー向けバージョン管理ツールGitの初期設定
  5. Macノンプログラマー向けバージョン管理ツールGitのインストールと初期設定
  6. 【ノンプログラマー向け】はじめてのGitHubとそのサインアップの方法
  7. ノンプログラマー向けGitHubによるリモートリポジトリの作成の方法
  8. 【ノンプログラマー向け】Gitでリモートリポジトリのクローンをする方法
  9. 【ノンプログラマー向け】はじめてのGitのコミットをして変更履歴を記録する方法
  10. Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法
  11. GitHubで他のユーザーをリモートリポジトリに招待して承認してもらう方法
  12. 【Windows版】リモートリポジトリをローカルにクローンをする方法
  13. Gitのブランチとは何か?またブランチを作成、切り替える方法
  14. Gitで原稿の変更履歴をコミットし、リモートにプッシュする方法
  15. GitHubのレビューとプルリクエストについて、およびその作成方法
  16. GitHubでプルリクエストを確認しコメントをしてマージをする
  17. Gitでプルリクエストをマージされたリモートリポジトリをプルする方法
  18. GitHubのプルリクエストをレビューして修正を依頼する方法
  19. GitHubのプルリクエストに対するレビューの修正に対応する方法
  20. GitHubでプルリクエストの修正対応を確認してマージをするまで
  21. GitHubでレビュアーが修正コミットをしてマージをする方法

タイトルとURLをコピーしました