みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。
前回の記事はこちら。
Windowsの場合について、リモートリポジトリをローカルにクローンする方法をお伝えしました。
これで、ようやく執筆の共同作業環境が整いましたので、執筆を進めていきたいと思います。
今回は、Gitのブランチとは何か?またブランチを作成、切り替える方法についてお伝えしていきます。
なお、技術書の制作をお題として進めていますので、事前順次や前提についてはこちらの記事からご覧いただければと思います。
では、行ってみましょう!
補足: デフォルトブランチ名はmainに変更されています
GitHubで作成したリポジトリのデフォルトブランチ名は、本記事執筆当初は「master」でしたが、現在は「main」に変更されています。
ですから本記事について、本文内では「main」に書き換えていますが、画像内の表記は「master」のままの箇所がございます。
読みづらくて恐縮ですが、ご注意しながらご覧ください。
前回までのおさらい
まずは、前回までのおさらいをしておきましょう。
実際に原稿を書く執筆者と、それをチェックしレビューをする編集者との2者で共同作業を進めていくことを想定しています。
その共同執筆環境として、以下の3つのリポジトリを作成したのでした。
- GitHub上の共有・共同作業用のリモートリポジトリ
- 編集者のローカル環境のローカルリポジトリ
- 執筆者のローカル環境のローカルリポジトリ
ブランチを用いた共同作業
さて、ここから実際に執筆をするわけですが、その最初のいくつかの手順は以下のようになります。
- 執筆者が執筆を進めて、ローカルリポジトリに変更履歴を重ねていく(コミット)
- 執筆者はキリのいいところ(例えば1章を書き終えたなど)でリモートリポジトリにローカルの変更履歴を反映させる(プッシュ)
これで、GitHubのリモートリポジトリに変更履歴が反映されますので、それを編集者がチェックをする…という流れになります。
コミットとプッシュについては、編集者の立場ではありますが、以下の記事で紹介しています。
さて、ここで「ブランチ」と呼ばれるものについて知っておく必要がありますので、その説明をしておきます。
ブランチとは
Gitでは、プロジェクトの変更履歴はただの一本線というわけでなく、分岐をさせて、枝分かれさせることができます。
その変更履歴の枝を「ブランチ」(branch)といいます。
例えば、複数人が同時に開発や執筆をする場合、同じ変更履歴を気ままに更新していったら、わけがわからなくなります。
そうならないように、それぞれ別のブランチで作業を進めて、コミットを重ねていきます。
あるブランチが一定の作業を終えて、問題ないことが確認できたら、本流のブランチにそれを統合します。
ブランチに、枝分かれしたブランチを統合することを、「マージ」といいます。
このしくみのおかげで複数人で同時に作業を進められますし、作業するのが一人だったとしても、安定版には手を触れずに、開発・執筆・修正などの作業を進められるので安心感があります。
mainブランチとは
以前の記事で編集者が初期コミットを行ったあと、git statusコマンドでリポジトリの状態を確認したときに、以下表示があったのを覚えていますでしょうか?
On branch main
リポジトリ作成時に、最初に自動で作られるブランチ名は常に「main」となり、それを本流のブランチとして使うのが一般的です。
本シリーズでも、執筆者は別のブランチで作業を進めていきます。
一定の執筆(例えば章を書き終えたなど)で編集者に見てもらい、確定版のブランチmainにマージをしてもらうというのが、ひとつの目標となるわけです。
git branchでブランチを作成する
では、実際に執筆者の作業を進めていきましょう。
まず、現時点でブランチはmainしか存在していませんので、執筆用のブランチを作成する必要があります。
ブランチを作成するには、git branchコマンドを用います。
ブランチ名は、ユーザー名を表すものだったり、役割を表すものだったり、作業内容を表すものだったり、いろいろなパターンがありますが、今回はユーザー名にしておきます。
それで、作成したブランチを確認するには、git branchコマンドで以下のようにブランチ名を省略すればOKです。
実際に、作成したブランチを確認してみました。
ブランチとしてmainとntakaが存在しているということがわかります。
mainが緑の文字色で、「*」が付与されているのは、「現在いるブランチがmainだよ」ということを表しています。
git checkoutでブランチを切り替える
実際の執筆作業の履歴はmainではなく、新たに作成したブランチntakaに記録をしていきたいわけですから、作業するブランチを切り替える必要があります。
そのためには、git checkoutコマンドを用います。
今回の場合は、以下コマンドでOKですね。
実行すると以下のように「Swiched to branch ‘ntaka’」と表示され、プロンプト表示の水色部分も「(ntaka)」に変更になりましたね。
これで、新たに作成したブランチで、変更履歴を記録していくことができるようになりました。
まとめ
以上、Gitのブランチとは何か?またブランチを作成、切り替える方法についてお伝えしました。
ブランチは少しややこしい考え方かも知れませんが、これによって共同作業が安心・スムーズに進められるわけですね。
次回は、新たなブランチで執筆作業を進めていきます。
どうぞお楽しみに!
連載目次:ノンプロ向けGit・GitHubで技術同人誌を共同制作しよう!
コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動をより魅力的にすべく、メンバーの皆さんと技術同人誌を制作するプロジェクトをスタートしました。このシリーズでは、プロジェクトの概要や、ベースとなる技術情報をお伝えしていきます。- 技術同人誌とそのメリット&ノンプロ的な作り方の手順について
- 【ノンプログラマー向け】Gitによるバージョン管理の超基礎知識
- Windowsノンプログラマー向けバージョン管理ツールGitをインストールする方法
- Windowsノンプログラマー向けバージョン管理ツールGitの初期設定
- Macノンプログラマー向けバージョン管理ツールGitのインストールと初期設定
- 【ノンプログラマー向け】はじめてのGitHubとそのサインアップの方法
- ノンプログラマー向けGitHubによるリモートリポジトリの作成の方法
- 【ノンプログラマー向け】Gitでリモートリポジトリのクローンをする方法
- 【ノンプログラマー向け】はじめてのGitのコミットをして変更履歴を記録する方法
- Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法
- GitHubで他のユーザーをリモートリポジトリに招待して承認してもらう方法
- 【Windows版】リモートリポジトリをローカルにクローンをする方法
- Gitのブランチとは何か?またブランチを作成、切り替える方法
- Gitで原稿の変更履歴をコミットし、リモートにプッシュする方法
- GitHubのレビューとプルリクエストについて、およびその作成方法
- GitHubでプルリクエストを確認しコメントをしてマージをする
- Gitでプルリクエストをマージされたリモートリポジトリをプルする方法
- GitHubのプルリクエストをレビューして修正を依頼する方法
- GitHubのプルリクエストに対するレビューの修正に対応する方法
- GitHubでプルリクエストの修正対応を確認してマージをするまで
- GitHubでレビュアーが修正コミットをしてマージをする方法