ai.ros Asset Store

← GitHub マスター講座 | Lesson 3 / 25
3

1-3 リポジトリ・コミット・ブランチとは何か

第1章 GitHubとは何かを、まずざっくり理解する

想定学習時間: 9分

GitHubの基本用語:リポジトリ、コミット、ブランチ

GitHubを使い始めるにあたり、まず理解しておきたい3つの重要な言葉があります。それが「リポジトリ」「コミット」「ブランチ」です。これらはGitHubの基本的な概念であり、プロジェクト管理の土台となります。ここでは、これらの用語を実務で使う感覚に近い言葉で整理し、それぞれの役割とGitHub上での活用方法を解説します。

リポジトリ:プロジェクトの「箱」

リポジトリとは、ひとつのプロジェクトをまとめて入れておく「箱」のようなものです。Webサイト、アプリケーション、AIが生成した業務ツール、Kindle原稿、社内マニュアルなど、管理したい制作物や関連ファイルをひとまとまりとして格納する場所だと考えてください。

リポジトリの中には、プロジェクトを構成するさまざまなファイルやフォルダが含まれます。例えば、Webサイトであればindex.htmlstyle.cssscript.jsといったファイルが、アプリケーションであればsrcフォルダ、publicフォルダ、package.jsonREADME.mdなどが含まれるでしょう。

パソコンのフォルダにファイルを置くことと似ていますが、GitHub上にリポジトリを作成することには大きなメリットがあります。

つまり、リポジトリは単なる保管場所ではなく、制作物の保管場所であり、作業の土台となる場所です。

コミット:作業の「セーブポイント」

コミットとは、作業の節目ごとに「ここまでの状態を記録します」と保存する「セーブポイント」です。ファイルを作成したり、文章を修正したり、デザインを変更したり、エラーを修正したり、新しい機能を追加したりといった作業の区切りでコミットを行います。

通常の「上書き保存」と異なるのは、コミットが履歴としての意味を持つ点です。上書き保存では前の状態が消えてしまいますが、コミットしておけば「どの時点で、どのような変更をしたのか」という記録が残ります。

例えば、AIにWebページのデザイン修正を依頼する際、以下のようにコミットを活用できます。

  1. ページの土台を作成し、「初期ページ構成を追加」とコミット。
  2. ヘッダー部分を追加し、「ヘッダーデザインを調整」とコミット。
  3. お問い合わせフォームを追加し、「お問い合わせフォームを実装」とコミット。

このようにコミットを重ねることで、作業の流れが履歴として明確に残ります。もしお問い合わせフォーム追加後にページが崩れても、「フォーム追加前の状態」に戻したり、どこで問題が発生したのかを特定したりしやすくなります。コミットは、未来の自分やチームを助けるための記録なのです。

コミットメッセージの重要性

コミットを行う際には、「何を変更したのか」を短く記述するコミットメッセージが非常に重要です。例えば、以下のようなメッセージは、後から履歴を見たときに変更内容を把握しやすくなります。

一方で、「修正」「変更」「いろいろ」「テスト」「最新版」といった曖昧なメッセージでは、後から見たときに何をしたのかが分かりません。GitHubを使う目的の一つは、作業内容を分かりやすく残すことです。最初から完璧な書き方を目指す必要はありませんが、「未来の自分が見て分かる言葉」で書くことを意識すると良いでしょう。

ブランチ:本体を壊さずに試す「作業部屋」

ブランチとは、プロジェクトの本体(メインライン)を壊すことなく、新しい作業や変更を試すための「別の作業ルート」です。例えるなら、本番の部屋を汚さずに試作品を作るための「作業部屋」のようなものです。

現在稼働しているWebサイトがあるとします。そこに新しい機能を追加したい場合、直接本体を修正してしまうと、万が一失敗したときにサイト全体が壊れてしまうリスクがあります。そこでブランチの出番です。

ブランチを使うことで、以下のような安全な開発フローが可能になります。

  1. メインのブランチ(一般的にmainmasterと呼ばれる)から、新しい機能用のブランチ(例: contact-form)を作成します。
  2. その新しいブランチ上で、お問い合わせフォームの実装など、新しい作業を集中的に行います。
  3. 作業が完了し、問題なく動作することを確認できたら、その変更をメインのブランチに取り込みます。
  4. もし途中でうまくいかなかったり、その機能が不要になったりした場合は、そのブランチごと破棄することも可能です。

この仕組みにより、本番環境の状態を守りながら、安全に新しい変更を試すことができます。

AI開発においても、ブランチは非常に役立ちます。AIに修正を依頼すると、想定外の広範囲なファイルが変更されることがあります。このような場合でも、いきなり本体を変更せず、作業内容ごとにブランチを分けてAIに作業させることで、安全に試行錯誤ができます。

例えば、以下のように作業内容に応じたブランチを作成できます。

ブランチを活用すれば、失敗しても本体は守られ、成功したらその変更を取り込めば良いという安心感が得られます。

リポジトリ、コミット、ブランチの連携

リポジトリ、コミット、ブランチはそれぞれ独立した概念ではなく、密接に連携しながらGitHub上でのプロジェクト管理を支えています。これらを理解することで、GitHubの画面や操作が格段に分かりやすくなるでしょう。

GitHubを開いたときに「Repository」と表示されていれば、それはプロジェクトの箱のこと。「Commit」とあれば変更履歴の記録。「Branch」とあれば作業ルートや作業部屋のことだと理解してください。

基本的な作業の流れは以下のようになります。

  1. まず、プロジェクト用のリポジトリを作成します。
  2. そのリポジトリの中でファイルを変更し、作業の節目でコミットして変更履歴を記録します。
  3. 新しい機能の追加や大規模な修正を試す際は、安全のためにブランチを分けて作業します。
  4. ブランチでの作業が成功したら、その変更をメインのブランチに取り込みます。

例えば、AIにLP(ランディングページ)のコードを書いてもらう場合を考えてみましょう。

  1. LP用のリポジトリを作成します。
  2. AIに初期のHTMLとCSSを生成させ、それをリポジトリに追加し、「初期LPファイルを追加」とコミットします。
  3. 次に、AIにファーストビューのデザイン修正を依頼し、「ファーストビューのデザインを調整」とコミットします。
  4. 新しい申し込みフォームを試したいので、add-signup-formというブランチを作成します。
  5. そのブランチ上でAIにフォームを実装してもらい、問題なければメインブランチに取り込みます。

このようにGitHubを活用することで、プロジェクトの管理が非常にしやすくなります。途中でデザインが崩れても履歴を見れば元の状態に戻せますし、どの修正で問題が起きたのかも特定できます。AIに「このコミット以降で起きた問題を確認して」と具体的な指示を出すことも可能です。

GitHubの最大の強みは、単にファイルを保管するだけでなく、制作物の「変化の過程」も記録してくれる点にあります。AI時代において、完成品だけでなく、何を作ったのか、どこを直したのか、どこで失敗したのか、何を試して何をやめたのかといった途中経過が残ることは、AIに次の作業を依頼する際の指示出しを格段に容易にします。リポジトリ、コミット、ブランチは、プロジェクトの記憶を残す重要なツールとなるでしょう。

最初はこれらの言葉に慣れるだけでも構いません。リポジトリは箱、コミットはセーブ、ブランチは作業部屋。このシンプルな理解を基に、GitHubを実際に使いながら、その全体像を自然と掴んでいってください。

人にたとえると

ある出版社で、新しい書籍を制作する場面を想像してみましょう。

書籍の企画から完成まで、全ての資料や原稿が集まるのは編集部のフロアです。著者や編集者は、原稿を書き進めたり、修正したりするたびに、その時点での内容を記録係に渡して、版として残してもらいます。これにより、いつ誰がどのような変更を加えたかが後からでも確認できます。もし新しい章のアイデアを試したい場合や、大幅な構成変更を検討する際は、メインの原稿に直接手を加えるのではなく、別室の作業スペースで原稿のコピーを使って試作します。そこで内容が固まり、問題ないと判断されれば、その変更をメインの原稿に反映させます。うまくいかなければ、その試作は破棄することも可能です。

編集部のフロア=リポジトリ
記録係に渡す版=コミット
別室の作業スペース=ブランチ