第1章 GitHubとは何かを、まずざっくり理解する
想定学習時間: 6分
GitHubを学び始める際、多くの人が最初に直面する疑問の一つが「GitとGitHubは何が違うのか」という点です。名前が似ており、どちらもコード管理や開発に関連するため、混同しやすいのは自然なことです。
こうした疑問を解消し、GitとGitHubの役割を明確に理解することで、学習の最初の壁を乗り越えましょう。
まず、Gitは「仕組み」であり「道具」です。具体的には、ファイルやコードの変更履歴を管理するためのシステムを指します。
たとえば、あなたが重要な文書を作成している場面を想像してみてください。何度も修正を重ねるうちに、「昨日の状態に戻したい」「さっき消した部分を確認したい」といった状況が出てきます。通常のファイル管理では、「原稿_最新版.docx」「原稿_最終版.docx」のようにファイル名が増え、どれが正しい状態なのか分からなくなりがちです。
Gitは、このような「変更の履歴」を体系的に管理します。どのファイルを、いつ、どのように変更したのか、その変更にどのような意味があるのかを記録し、必要であれば過去の任意の時点の状態に戻すことも可能です。つまり、Gitは作業の時間を記録する道具と考えることができます。
一方で、GitHubは、そのGitの仕組みを基盤として、インターネット上でプロジェクトを保存し、共有し、共同で作業するためのサービスです。
Gitを自分のパソコンの中だけで使うこともできますが、それだけでは以下のような課題があります。
そこでGitHubが登場します。GitHubにプロジェクトを置くことで、Gitで管理されたコードや変更履歴をオンラインで一元管理できます。これにより、他の開発者とコードを共有したり、チームで協力して開発を進めたり、AIツールと連携して効率的な開発を行ったりすることが可能になります。
GitHubは、Issueでタスクを整理し、Pull Requestで変更内容を確認し、GitHub PagesでWebサイトを公開するなど、Gitを中心とした制作・開発の作業場としての機能を提供します。
Gitを本格的に使う場合、コマンドライン(黒い画面)に以下のようなコマンドを入力して操作する場面が出てきます。
git add
git commit
git push
git pull
git branch
これらのコマンドを見ると、難しく感じるかもしれません。しかし、GitHubを使い始める段階で、最初からすべてのGitコマンドを暗記する必要はありません。
GitHubのウェブ画面上でも、ファイルの作成、編集、変更履歴の保存といった基本的な操作が可能です。また、GitHub Desktopのような専用アプリケーションを使えば、ボタン操作でGitの主要な機能を扱うことができます。さらに、VS CodeやCursorといった多くのエディタには、GitHubとの連携機能が組み込まれています。
つまり、Gitの仕組みが裏側で動作しているものの、あなたは画面操作を通じてGitHubを扱うことができます。最初に重要なのは、Gitの全コマンドを覚えることではなく、Gitが何をしているのかを感覚的に理解することです。
近年、AIがコードを生成したり修正したりする機会が増えています。AIは指示に応じて高速にコードを変更できる一方で、意図しない部分まで変更したり、一見問題なさそうに見えて別の箇所に影響を与えたりする可能性もあります。
このような状況でGitとGitHubが役立ちます。Gitで変更履歴が残っていれば、どの変更で問題が発生したのかを特定し、前の状態に簡単に戻すことができます。修正前と修正後を比較したり、別案を試すためにブランチを分けたりすることも可能です。
AIがコードを生成する時代だからこそ、変更のスピードが速くなり、それに伴い問題が発生する可能性も高まります。そのため、いつでも「戻れる場所」を確保しておくことが不可欠であり、その基礎となるのがGit、そしてそれを実務で使いやすくするのがGitHubなのです。
難解な専門用語を完璧に理解しようとせず、まずは以下のシンプルな違いを認識することから始めましょう。
実際にGitHubの画面からプロジェクトを作成し、ファイルを追加し、変更を保存し、履歴を見るという一連の流れを体験することで、Gitが何をしているのかを体感的に理解できます。勉強して覚えるよりも、使いながら理解する方が効率的な部分です。
この違いが分かれば、GitHubの学習の入口にはもう立っています。
人にたとえると
ある建築設計事務所で、建物の設計図を作成し、チームで共有する場面を想像してみましょう。
設計士が設計図を修正するたび、設計図履歴係がその変更内容を細かく記録し、いつでも過去の状態に戻せるように管理します。この記録は設計士個人の手元にあるため、共有には不向きです。そこで、オンライン設計図書庫に最新の設計図をアップロードします。他の設計士は、そこから最新版をダウンロードして作業を進めたり、変更点について意見を交換したり、承認を得たりしながら、共同で一つの建物を設計していきます。