みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。
前回の記事はこちら。
技術同人誌とは何か、またノンプログラマー向けの制作のおおまかな手順についてお伝えしました。
今回からは、制作に際して使用するツールとその使い方について紹介していきます。
まずは、原稿のバージョンを管理するために使用する、バージョン管理ツールGitについて紹介します。
ということで今回は、【ノンプログラマー向け】Gitによるバージョン管理の超基礎知識についてお伝えします。
では、行ってみましょう!
Gitとは
Gitとは代表的なバージョン管理ツールです。
例えば、あるExcelファイルについて、過去のバージョンも「一応、上書きせずに残しておこうかな…」ということで、ファイル名を変えて増やしていくと以下のような状態になります。
この図のように7回くらいで完了するのだったらいいのですが、例えばプログラムのソースコードだったり、書籍の原稿だったりすると、このバージョンは数十、場合によっては100を超えることもあるでしょう。
中身はよくわからないし、どれがどのような変更を加えたバージョンなのか、大変わかりづらい…
そこで、バージョンを管理するための専用のツールを使うと便利で、その代表的ツールがGitであるというわけです。
Gitでできること
さて、Gitがバージョンを管理するツールだというのはわかったのだけど、Gitでは具体的に何ができるのでしょうか?
Gitはたくさんの機能があるのですが、だいぶ端折ってますが、まず知っていただきたいのは以下の4つです。
- 変更履歴を記録する(コミット)
- 変更履歴を分岐する(ブランチ)
- 変更履歴を確認する(ログ)
- 変更履歴を共有する(プッシュ・プル)
リポジトリとは
Gitではプロジェクト単位で変更履歴を管理します。
プログラムのソースコードや、書籍の原稿の多くは、一つのファイルというわけにはいかなくて、複数のテキストファイルや画像ファイルの組み合わせで構成されていることが多いです。
なので、多くの場合、複数のファイル(場合によってはいくつかの階層になっている)ディレクトリの中身の状態をまるっと変更履歴として管理します。
このプロジェクトごとの変更履歴を記録するための場所をリポジトリといいます。
(しかし、この単語が出てくると、一気にややこしさが増しますね…)
このリポジトリには、各人がローカルに持つローカルリポジトリと、みんなで共有するために主にクラウド上にあるリモートリポジトリと2種類あります。
Gitの活用イメージ
Gitの活用イメージをざっと説明しておきましょう。
プロジェクトを進めていって好きなタイミングの状態を都度、自分のローカルリポジトリに記録していきます(コミット)。
当然、その変更履歴を確認することができます(ログ)。
例えば、複数人で作業をしているときなどに、それぞれの担当ごとに変更履歴を分岐して、自分用の変更履歴を作ったりすることができます(ブランチ)。
そして、とあるバージョンをリモートリポジトリにアップして他のメンバーに共有したり(プッシュ)、リモートリポジトリから他のメンバーの変更履歴を、自分のローカルリポジトリに取り込んだり(プル)することができます。
変更履歴を記録するたびにファイルやディレクトリが増殖することもありませんし、他のメンバーとスムーズに共有し、共同作業が行えます。
Gitはどうやって使うのか
そのGitなのですが、どうやって使うのかというと以下のような画面で操作します。
そうです、ノンプログラマーの敵、黒い画面です。
Gitは基本的にCLI(キャラクタベースユーザインタフェース)、つまりコマンドで操作するツールで、WindowsならGit BashというCLIツール、Macならターミナルからコマンド入力して使用したりします。
Gitをグラフィカルな画面をポチポチ操作できるようにしてくれるアプリ(GUI: グラフィカルユーザーインターフェース)もありまして、実は当ブログでも過去にSourceTreeというアプリケーションを紹介しています。
また、VS Codeの機能でもGitの操作をポチポチすることが可能です。
では、なぜ取っ付きづらそうなCLIを使うのか…
GUIでGitを操作する場合、まずGit本体があり、それをもう一つ別のアプリをインストールして、それを経由して操作することになるわけです。
しかし、どうやらそのインストール時の設定とか環境とかでうまく動作しないときがあるというのを何度か見かけました。
つまり、使うツールが増えると、それだけ設定とかでミスする機会も増えるということがいえるかなと。
環境構築はこれまたノンプログラマーの敵なので、なるべく構成を軽くして、どちらかというとCLIに慣れちゃったほうが、総合的に安全で楽ができるだろうと判断しました。
まとめ
以上、【ノンプログラマー向け】Gitによるバージョン管理の超基礎知識についてお伝えしました。
本当は、Gitにはもっと色々な機能があるのですが、ひとまずこれくらいにして、実際に触りながら慣れていきましょう。
次回は、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でレビュアーが修正コミットをしてマージをする方法