初心者でもわかる!GitHubって何?~ケンタとミサキの優しいGit入門~

目次

(挿絵は全てGemini製のため、一部文字列に誤りがあります)

「もう失敗を恐れなくていい。」

image

昨日まで動いてたのに、今日なぜか動かない?

しかも修正前に戻れない!? その絶望、GitHubで終わりにしよう。

登場人物

  • ケンタ: HSP中級者だけど、Gitはほぼ知らない若手プログラマー
  • ミサキ: 優しい先輩エンジニア。GitHubは日常的に使っている

プロローグ:ファイル管理の地獄

ある日の開発室。ケンタのPCの前で……

ケンタ
ケンタ

うわあああ…絶望…(頭を抱える)

ミサキ
ミサキ

あら?どうしたのケンタくん。顔色悪いわよ?

ケンタ
ケンタ

あのですね…機能を追加するたびにファイルが混乱してきて…もう何が最新版かわからなくなっちゃったんです…

ミサキ
ミサキ

あー、あるある。shooting.hspshooting_tama.hspshooting_tama_atari.hspshooting_tama_atari_sound.hspshooting_ugoku_yatsu.hsp…って感じでファイルが増えていくやつね(笑)

ケンタ
ケンタ

まさに!どれが最新かわからなくて、バックアップもぐちゃぐちゃで…先輩、どうしたらいいんですか…!?

ファイル名で管理していると、こういう問題は誰もが一度は経験するもの。でも、実はこれを解決する素晴らしいツールがあるんです。


第1章:GitHubって何?

Gitとは?

ミサキ
ミサキ

それなら、GitHubを使ってみたらどう?

ケンタ
ケンタ

ギッ、ギットハブ…?(聞いたことはあるけど)

ミサキ
ミサキ

そう。Gitっていうのは、簡単に言うとファイルの履歴を管理してくれるツールなの。GitHubは、そのGitをネット上で使えるようにしたサービスよ

ケンタ
ケンタ

えっと…つまり、どういうことですか?

ミサキ
ミサキ

例えば、ゲームのセーブデータって、「セーブ1」「セーブ2」「セーブ3」って複数保存できるでしょ?Gitはそれをプログラムでやってくれるの。「この時点のコード」「あの時点のコード」って、全部記録しておけるのよ

ケンタ
ケンタ

おお…!それなら、間違えて大事なコードを消しちゃっても戻せるってことですか?

ミサキ
ミサキ

その通り!しかも、「いつ」「誰が」「何を」「なぜ」変更したかも全部記録できるの。メモも残せるから、後で見返したときに「あれ、なんでこうしたんだっけ?」ってならないのよ

image

Gitとは「バージョン管理システム」のこと。プログラムの変更履歴を記録して、過去の状態に戻したり、変更内容を確認したりできる優れものです。


公開されちゃうの?

ケンタ
ケンタ

でも、待ってください!GitHubって、世界中に公開されちゃうんですよね…?僕の恥ずかしいコードが全世界に晒されるのは…(青ざめる)

ミサキ
ミサキ

あはは、安心して。それは「パブリック(公開)リポジトリ」の場合ね。GitHubには「プライベート(非公開)リポジトリ」っていう機能があるの

ケンタ
ケンタ

プライベート…?

ミサキ
ミサキ

うん。プライベートにしておけば、自分だけ、もしくは許可した人だけが見られるようになるの。だから、個人の勉強用とか、会社の秘密のプロジェクトとかも安心して使えるのよ

ケンタ
ケンタ

そうなんですか!じゃあ、僕のぐちゃぐちゃなコードも安全に管理できるんですね…

ミサキ
ミサキ

そうそう。むしろ、ぐちゃぐちゃなコードだからこそ、Gitで整理していくのがおすすめよ。後で「あの時はこんなコード書いてたんだ」って成長が実感できるから

GitHubは無料でプライベートリポジトリを作成できます(無制限!)。初心者のうちは、まずプライベートで練習するのがおすすめです。


GitHubでできること

ミサキ
ミサキ

じゃあ、GitHubで具体的に何ができるか説明するわね

ケンタ
ケンタ

お願いします!

ミサキ
ミサキ

まず一番大事なのが「タイムマシン機能」。さっき言ったように、過去のどの時点にも戻れるの

ケンタ
ケンタ

それ、すごく便利そうです!「やっぱりさっきの方が良かった」ってなった時とか…

ミサキ
ミサキ

そうそう。例えば、「昨日の夜までは動いてたのに、今日いじったら動かなくなった」って時、昨日の状態に簡単に戻せるのよ

ケンタ
ケンタ

便利すぎる…!

ミサキ
ミサキ

それから、「ブランチ」っていう機能もあるの。これは、元のコードはそのままにして、別の場所で新機能を試せるの

ケンタ
ケンタ

別の場所…?

ミサキ
ミサキ

うん。例えば、「今動いてるゲーム」はそのままにして、「新しい敵キャラを追加してみる実験」を別のブランチでやるの。うまくいったら元に合流させて、失敗したら捨てればいい

ケンタ
ケンタ

なるほど…!「完成版」と「実験版」を分けて管理できるってことですね

image

ブランチは、同じプロジェクトの中で「平行世界」を作れる機能。メインの開発を止めずに、新しいアイデアを試せます。


ミサキ
ミサキ

あと、すごく便利なのが「複数のパソコンで同じプロジェクトを扱える」ってことね

ケンタ
ケンタ

複数のパソコン…?

ミサキ
ミサキ

そう。例えば、家のデスクトップPCと、持ち運び用のノートPCでプログラミングするとするでしょ?

ケンタ
ケンタ

はい…僕、まさにそうなんです。家と学校でプログラミングしたくて…

ミサキ
ミサキ

だったら、GitHubは最高よ!家でコミット&プッシュしておけば、学校のPCでプルするだけで、続きから作業できるの

ケンタ
ケンタ

えっ、そんなに簡単なんですか!?

ミサキ
ミサキ

簡単よ。USBメモリでファイルを持ち運ぶ必要もないし、「あれ、最新版どっちだっけ?」って悩むこともないの

ケンタ
ケンタ

それ、めっちゃ便利じゃないですか…!今までUSBメモリで持ち運んでて、時々古いバージョン上書きしちゃってたんです…

ミサキ
ミサキ

あるある(笑)。GitHubを使えば、そういう悲劇とはおさらばよ

GitHubは「クラウドストレージ」としても機能します。ただのファイル保存ではなく、バージョン管理もできる高機能なストレージです。


第2章:始める前の準備

難しくないの?

ケンタ
ケンタ

でも、そういうツールって、使い方が難しそうで…コマンドとか覚えないといけないんですよね?

ミサキ
ミサキ

確かに、Gitのコマンドは最初はちょっと戸惑うかもね。でも大丈夫!

ケンタ
ケンタ

大丈夫なんですか…?

ミサキ
ミサキ

うん。実は、GitHubには「GitHub Desktop」っていうアプリがあるの。これを使えば、マウスでポチポチするだけでGitが使えるのよ
image

ケンタ
ケンタ

えっ、コマンド打たなくていいんですか!?

ミサキ
ミサキ

打たなくていいの(笑)。ボタンを押すだけで保存できるし、履歴も見やすいし、初心者にはすごくおすすめよ

ケンタ
ケンタ

それなら僕でもできそう…!

ミサキ
ミサキ

それに、慣れてきたらコマンドも覚えていけばいいから。最初はアプリで感覚をつかむのが一番よ

GitHub Desktopは無料でダウンロードできます。Windows版もMac版もあり、直感的な操作でGitを使えます。

GitHub Desktop


⚠️ 重要:UTF-8エディタを使おう

ミサキ
ミサキ

あ、そうだ。GitHubを使う前に、一つ大事な準備があるの

ケンタ
ケンタ

大事な準備…?

ミサキ
ミサキ

HSPのエディタ、普段は「hsed3.exe」を使ってるでしょ?

ケンタ
ケンタ

はい、標準のやつですよね

ミサキ
ミサキ

GitHubで使うなら、「hsed3u8.exe」に変えた方がいいわ。これはUTF-8版のエディタなの

ケンタ
ケンタ

ユーティーエフエイト…?何が違うんですか?

ミサキ
ミサキ

文字コードの違いね。標準版はShift-JISっていう古い形式なんだけど、GitHubはUTF-8が標準なの

ケンタ
ケンタ

それって、使わないとどうなるんですか?

ミサキ
ミサキ

GitHubで「どこを変更したか」を見る画面があるんだけど、文字コードが違うと文字化けして、まともに比較できなくなっちゃうのよ

ケンタ
ケンタ

えっ、それは困る…!

ミサキ
ミサキ

だから、最初からUTF-8版を使っておけば安心ってこと。使い方は標準版とほとんど同じだから、心配いらないわ

ケンタ
ケンタ

わかりました!hsed3u8.exeを使います!

hsed3u8.exe(UTF-8版エディタ)について

この記事を書いているときにUTF-8版じゃないと駄目じゃん! と気付いてしまったので急遽作ったやつです。詳しい使い方はこちらの記事を参照してください。

GitHubでコードの差分(Diff)を正しく表示するために、UTF-8でファイルを保存することが重要です。


アカウントを作ろう

ミサキ
ミサキ

じゃあ、実際の使い方を簡単に説明するわね

ケンタ
ケンタ

はい!

ミサキ
ミサキ

まず、GitHubのサイトでアカウントを作るの。メールアドレスがあれば無料で作れるわ
image

ケンタ
ケンタ

アカウント登録って、面倒じゃないですか…?

ミサキ
ミサキ

全然!メールアドレスとパスワード、ユーザー名を決めるだけで、1分もかからないわよ
image

ケンタ
ケンタ

そんなに簡単なんですか!

ミサキ
ミサキ

それに、実はGitHubは2018年にMicrosoftに買収されて、今はMicrosoft傘下なの

ケンタ
ケンタ

えっ、マイクロソフト!?Windowsの!?

ミサキ
ミサキ

そう!だから、すごく安心して使えるのよ。世界最大のソフトウェア企業がバックにいるから、サービスが突然終了する心配もないしね

ケンタ
ケンタ

なるほど…!Windowsの会社なら信頼できますね!

ミサキ
ミサキ

大手企業も、中小企業もお金を払ってPrivateリポジトリで自社サービスを開発しているわよ。あ、でも個人向けはPrivateが無料だから安心して使ってね!

GitHubは2018年にMicrosoftが75億ドルで買収。世界最大のソフトウェア企業の傘下にあるため、安定性と信頼性は抜群です。

Privateリポジトリは5人までの共有が無料で、それ以上が有料なのです。会社だと5人を超えることは普通なので、結果として有料になっているのです。HSP開発者として使う分には無料です!


ミサキ
ミサキ

次に、「リポジトリ」っていうのを作るの。これは、プロジェクト専用の保存場所みたいなものね

ケンタ
ケンタ

リポジトリ…ゲームごとに一つ作る感じですか?

ミサキ
ミサキ

そうそう、その理解で大丈夫!「シューティングゲーム用」「RPG用」って分けて作るイメージね

ケンタ
ケンタ

わかりました!

ミサキ
ミサキ

そしたら、GitHub Desktopでそのリポジトリを「クローン」するの。これは、ネット上のリポジトリを自分のPCにコピーすることよ

ケンタ
ケンタ

ダウンロードみたいなものですね

ミサキ
ミサキ

その通り!で、普段通りプログラムを書いて、キリのいいところで「コミット」するの

ケンタ
ケンタ

コミット…?

ミサキ
ミサキ

セーブのことよ。「ここまでの変更を記録する」って操作ね。その時に「敵キャラのスピードを調整」とかメモを残すの

ケンタ
ケンタ

なるほど…セーブデータに名前をつける感じですね

ミサキ
ミサキ

いい例え!最後に「プッシュ」して、変更をネット上のGitHubに送れば完了よ

基本的な流れは「クローン(コピー)→ 編集 → コミット(保存)→ プッシュ(アップロード)」です。


第3章:実際にやってみよう!

リポジトリを作成する

ミサキ
ミサキ

じゃあ、実際にケンタくんのシューティングゲームをGitHubで管理してみましょうか

ケンタ
ケンタ

はい!お願いします!

ミサキ
ミサキ

まず、GitHubにログインして、右上の「+」ボタンから「New repository」を選ぶの

ケンタ
ケンタ

(操作しながら)えっと…あった!「New repository」…
image

ミサキ
ミサキ

リポジトリの名前は「shooting-game」とかでいいわね。下の方に「Private」ってチェックボックスがあるから、それにチェックを入れて
Screen Shot 2025-12-10 at 01 12 37

ケンタ
ケンタ

プライベート…これで自分だけになるんですね。チェックしました!

ミサキ
ミサキ

「Create repository」ボタンを押したら、リポジトリの完成よ

ケンタ
ケンタ

できた!なんか、自分専用の保管庫ができた気分です…!
Screen Shot 2025-12-10 at 01 13 55


ミサキ
ミサキ

いい感覚ね(笑)。次に、GitHub Desktopを開いて、「Clone a repository」を選んで、今作ったリポジトリを選ぶの
image

ケンタ
ケンタ

えっと…「shooting-game」…あった!どこに保存しますか?

ミサキ
ミサキ

ドキュメントフォルダとか、わかりやすい場所でいいわよ
image

ケンタ
ケンタ

(操作中)…できました!image

ミサキ
ミサキ

じゃあ、Show in Explorerをクリックして、エクスプローラーでそのフォルダに、今まで作ってたHSPファイルをコピーしてみて

ケンタ
ケンタ

はい…(コピー中)…入れました

ミサキ
ミサキ

GitHub Desktopを見てみて。左側に変更されたファイルが表示されてるはずよ

ケンタ
ケンタ

ホントだ!「shooting.hsp」って表示されてる…!image

ミサキ
ミサキ

もしここでhsed3.exe(標準)を使っていると、右の差分表示が文字化けして読めないことになっているわ。注意してね


.gitignoreを設定する

ケンタ
ケンタ

(一回HSPで実行してみて)…あれ、先輩、変なファイルも表示されてます…

ミサキ
ミサキ

変なファイル?どんなの?

ケンタ
ケンタ

えっと…「hsptmp」とか「obj」とか「packfile」とか…
image

ミサキ
ミサキ

あー!それはHSPが自動で作る一時ファイルね。実行したりコンパイルすると勝手にできるやつ

ケンタ
ケンタ

これ、コミットしちゃダメなんですか?

ミサキ
ミサキ

ダメダメ!これをコミットすると、実行するたびに『ファイルが変更された』って表示されて、めちゃくちゃ混乱するわよ

ケンタ
ケンタ

えっ、それは困る…!

ミサキ
ミサキ

こういう『管理しなくていいファイル』を指定するために、「.gitignore(ギットイグノア)」っていうファイルを作るの

ケンタ
ケンタ

ギットイグノア…?

ミサキ
ミサキ

うん。『ignore(無視する)』って意味ね。このファイルに書いたものは、Gitが無視してくれるのよ

HSPは実行時に一時ファイルを自動生成します。これらはプログラムの本体ではないので、Gitで管理する必要はありません。

ミサキ
ミサキ

一つ一つ手作業で除外することも出来るけど
image
(Ignore file (add to .gitignore)を選ぶ)
ここではHSP特有の.gitignoreを教えるわ


HSP用の.gitignoreファイル

プロジェクトフォルダに.gitignoreという名前のファイルを作成し、以下の内容を記述します。これはHSP向けの最低限のオススメ設定です。

# HSPの一時ファイル
hsptmp
obj
packfile
*.ax

# 実行ファイル(必要に応じて)
*.exe

# Windowsのゴミファイル
Thumbs.db
desktop.ini
ケンタ
ケンタ

あの、「#」から始まる行は何ですか?

ミサキ
ミサキ

それは「コメント」ね。メモみたいなもので、Gitは無視するわ。自分が後で見返すときのために書いておくの。HSPで言うなれば、 ; コメント、あるいは // コメントよ

ケンタ
ケンタ

なるほど…親切ですね

ミサキ
ミサキ

あと、「*.exe」は『すべてのexeファイル』って意味。「*」はワイルドカードって言って、『何でもいい』って意味なの

ケンタ
ケンタ

へぇ…便利ですね!

image

.gitignoreファイルは、プロジェクトの「門番」のようなもの。一度作っておけば、あとは自動で不要ファイルを弾いてくれます。


初めてのコミット

ミサキ
ミサキ

じゃあ、初めてのコミットをしてみましょう。左下の「Summary」っていう欄に、メモを書くの

ケンタ
ケンタ

えっと…何て書けばいいんですか?

ミサキ
ミサキ

最初だから「初回コミット」とか「プロジェクト開始」とかでいいわよ。英語で「Initial commit」って書く人も多いわね

ケンタ
ケンタ

じゃあ「シューティングゲーム、プロジェクト開始!」って書きます
image

ミサキ
ミサキ

いいわね!気持ちがこもってる(笑)。じゃあ、青い「Commit to main」ボタンを押してみて

ケンタ
ケンタ

(ポチッ)…あれ、ファイルの表示が消えた?

ミサキ
ミサキ

正解!コミット(保存)されたから、変更済みファイルのリストから消えたのよ

ケンタ
ケンタ

おお…!

ミサキ
ミサキ

最後に、上の「Push origin」……初回だからPublish branchボタンを押して、GitHubに送るの
image

ケンタ
ケンタ

(ポチッ)…これで完了ですか?

ミサキ
ミサキ

そう!GitHubのサイトに戻って、リポジトリを見てみて

ケンタ
ケンタ

(ブラウザを見る)わあ…!ファイルがアップロードされてる…!すごい…!
Screen Shot 2025-12-13 at 16 00 25

おめでとうございます!これで、あなたのコードは安全にGitHubで管理されるようになりました。


日常的な使い方

ミサキ
ミサキ

これからは、プログラムを書いたら、こまめにコミットする習慣をつけるといいわよ

ケンタ
ケンタ

こまめに…どのくらいですか?

ミサキ
ミサキ

そうね、「敵キャラを追加した」「弾の速度を調整した」「BGMを追加した」みたいに、一つの機能ができたらコミットする感じかな

ケンタ
ケンタ

一つの機能ごと、ですね!

ミサキ
ミサキ

そう。あんまり細かすぎても大変だけど、「今日やったこと全部まとめて」だと、後で探しにくくなるからね

ケンタ
ケンタ

なるほど…バランスが大事なんですね

ミサキ
ミサキ

それと、コミットメッセージ(さっきのメモ)は、後で自分が見てわかるように書くのがコツよ。「修正」だけじゃなくて、「敵の当たり判定を修正」って書いた方が、後で探しやすいわ

ケンタ
ケンタ

確かに…!未来の自分のために書くんですね

コミットメッセージは、未来の自分へのメモ。丁寧に書いておくと、数ヶ月後に「神…!」ってなります。


第4章:複数のパソコンで開発する

ケンタ
ケンタ

先輩、さっき言ってた「複数のPCで作業する」のを、実際にやってみたいんですけど…

ミサキ
ミサキ

いいわね!流れは簡単よ

基本の流れ

家で作業する時も、学校で作業する時も、やることは同じ:

  1. フェッチ&プル(最新版を取得) image Fetch originをクリックして image Pull originをクリックする
  2. 作業(プログラミング)
  3. コミット(保存)
  4. プッシュ(アップロード)
ケンタ
ケンタ

あれ…場所が違っても同じなんですね?

ミサキ
ミサキ

そう、まったく同じ(笑)。重要なのは「作業前に必ずプル」ってこと。これを忘れると、古いバージョンで作業しちゃうから

ケンタ
ケンタ

気をつけます!

image

マルチデバイス開発の極意は「プルを忘れない」。これさえ守れば、トラブルはほぼ起きません。


ケンタ
ケンタ

もし両方のPCで同時に作業しちゃったらどうなるんですか?

ミサキ
ミサキ

そしたら、Gitが「コンフリクトしてるよ」って教えてくれるの
image

ケンタ
ケンタ

コンフリクト…!怖い…!

ミサキ
ミサキ

大丈夫、落ち着いて。この場合は、各ファイルをエディターで修正するか、”Use the modified file from main”、つまり手元のファイルを使うか、”Use the modified file from origin/main”、つまりGitHubのファイルを使うかを選べるわ。

ケンタ
ケンタ

そうなんですね…でも、できればコンフリクトは避けたいです…

ミサキ
ミサキ

その気持ち、大事よ。だから、「プッシュ忘れない」「プルを習慣にする」を徹底すれば大丈夫!

コンフリクトは怖くありません。GitHub Desktopなら、GUIで簡単に解決できます。

(エディターで修正する作業、超大変なので、本当にコンフリクトさせるようなことはしないようにしましょう!)


ケンタ
ケンタ

あ、でも一つ心配なんですけど…学校のPC※って、再起動したらファイル消えちゃうんです…

ミサキ
ミサキ

逆にGitHubが超便利なのよ!作業が終わったらプッシュしておけば、PCのデータが消えても、GitHubには残ってるから

ケンタ
ケンタ

あっ、そうか!クラウドに保存されてるから大丈夫なんですね!

ミサキ
ミサキ

その通り!むしろ、そういう環境でこそGitHubの真価が発揮されるわ

ケンタ
ケンタ

すごい…もうUSBメモリ持ち歩かなくていいんですね…!

GitHubは、データが消える環境でも安心。クラウドに保存されているので、いつでもどこでも作業を再開できます。

※注:学校のPCに勝手にGitHub Desktopをインストールしていいかは、学校の人に聞いて下さい。


第5章:もしもの時の「戻る」機能

ケンタ
ケンタ

先輩、さっき「タイムマシン機能」って言ってましたけど、具体的にどうやって戻るんですか?

ミサキ
ミサキ

いい質問ね!「戻る」には2つのパターンがあるのよ

パターン1:まだコミットしてない変更を取り消す(超重要!)

ミサキ
ミサキ

例えば、新しい敵キャラを追加してみたけど、全然うまくいかなくて、コードがぐちゃぐちゃになっちゃった、みたいな状況

ケンタ
ケンタ

あるある…!そういう時、Ctrl+Zで戻そうとするんですけど、どこまで戻せばいいかわからなくなって…

ミサキ
ミサキ

そういう時こそ、Gitの出番!変更したファイルを右クリックして、「Discard changes…(変更を破棄)」を選ぶの
image

ケンタ
ケンタ

これを選ぶと…?

ミサキ
ミサキ

前回コミットした時の状態に、一瞬で戻るの!まさにセーブポイントに戻るゲームみたいでしょ?

ケンタ
ケンタ

すごい…!じゃあ、何時間かけて失敗したコードも、一瞬で消せるんですか?

ミサキ
ミサキ

そう!だから、思い切って実験できるのよ。失敗しても「Discard changes」で戻せばいいだけだから

「Discard changes(変更を破棄)」は、Gitで最もよく使う機能の一つです。


パターン2:コミットした後で取り消す(たまに使う)

ミサキ
ミサキ

次は、コミットした後で「やっぱりダメだった」ってパターンね

ケンタ
ケンタ

コミットした後でも戻せるんですか?

ミサキ
ミサキ

戻せるわよ。GitHub Desktopの「History」タブで、戻りたいコミットを右クリックして、「Revert changes in commit」を選ぶの
image

ケンタ
ケンタ

「Revert(リバート)」…?

ミサキ
ミサキ

「打ち消す」って意味ね。例えば、「敵キャラを追加」ってコミットをRevertすると、「敵キャラを削除」っていう新しいコミットが作られるの。履歴は残るけど、内容は元に戻るわ

ケンタ
ケンタ

へぇ…!便利ですね

Revertは「やり直し」ではなく「打ち消し」。履歴は消さずに、効果だけを元に戻します。


どっちを使えばいい?

状況 使う機能 頻度
まだコミットしてない変更を取り消したい Discard changes ⭐⭐⭐(超頻繁)
コミットした変更を取り消したい Revert ⭐(たまに)
ミサキ
ミサキ

9割は「Discard changes」を使うことになるわ。だから、まずはこっちを覚えておけば大丈夫!

ケンタ
ケンタ

わかりました!これで、安心して実験できます!

失敗を恐れずチャレンジできる環境。それが、Gitの最大の魅力です。


第6章:応用編 〜ブランチとPull Request〜

ブランチを使ってみよう

ミサキ
ミサキ

慣れてきたら、「ブランチ」も使ってみるといいわよ

ケンタ
ケンタ

ブランチ…さっき言ってた、平行世界を作るやつですよね

ミサキ
ミサキ

そう!例えば、「ボスキャラを追加したいけど、うまくいくかわからない」って時、新しいブランチを作るの

ケンタ
ケンタ

どうやって作るんですか?

ミサキ
ミサキ

GitHub Desktopの上の方に「Current branch」ってあるでしょ?そこをクリックして「New branch」を選ぶの。
image
名前は「boss-character」とかでいいわね
image

ケンタ
ケンタ

はい…(作成中)…できました!

ミサキ
ミサキ

これで、今から書くコードは「boss-character」ブランチに記録されるの。元の「main」ブランチには影響しないわ

ケンタ
ケンタ

じゃあ、失敗しても大丈夫なんですね!

ミサキ
ミサキ

そう。うまくいったら「main」に合流(マージ)させて、失敗したらブランチを削除すればいいの

ブランチを使えば、「安全な実験場」が手に入ります。

(※:画像を作るとき、うっかりboss-characterじゃなくてboss-battleにしちゃいました……)


ブランチVS Revert~なぜブランチが便利なのか

ケンタ
ケンタ

あ、先輩、質問があるんですけど…さっき習った「Revert」じゃダメなんですか?失敗したコミットを打ち消すっていう方法は…?

ミサキ
ミサキ

いい質問ね!確かに、Revertでも「やり直す」ことはできるのよ。でも、ブランチとRevertでは考え方が全然違うの

ケンタ
ケンタ

考え方…?

ミサキ
ミサキ

Revertはね、「あの変更は間違いだった」ってことにして、逆の変更を記録するの。つまり、「敵キャラを追加した」を「敵キャラを削除した」に打ち消すのよ

ケンタ
ケンタ

そしたら、敵キャラの追加も削除も両方、履歴に残るんですね

ミサキ
ミサキ

そう!でも、もし「敵キャラ追加」が1日かけた大きな実験だったら、どう?

ケンタ
ケンタ

え…どうするんですか?

ミサキ
ミサキ

ブランチなら、最初から「敵キャラ実験用ブランチ」を作って、そこで1日かけて試行錯誤するわけよ。途中の細かいコミットも全部残る

ケンタ
ケンタ

あ…!途中の過程も残るんですか

ミサキ
ミサキ

そう。「敵キャラの色を変えてみた」「当たり判定を調整した」「ボス敵にしてみた」…こういう全部のコミットが記録されるの。そのブランチ内では履歴が完全に保存されるわ

ケンタ
ケンタ

なるほど…!

ミサキ
ミサキ

で、「やっぱりうまくいかないな」ってなったら、そのブランチ全体を削除しちゃう。mainブランチは触られない。きれいなままよ

ケンタ
ケンタ

あっ、そっか!mainの履歴がぐちゃぐちゃにならないんですね

ミサキ
ミサキ

その通り!それにね、「敵キャラ実験」と「BGM追加実験」を同時にやりたくなったら、ブランチなら簡単よ。別々のブランチで同時進行できるのよ

ケンタ
ケンタ

Revertだと…?

ミサキ
ミサキ

Revertだと、「敵キャラ追加」を打ち消した後に「BGM追加」をやるから、実験が直列になっちゃう。遅いのよ

ケンタ
ケンタ

あ~!ブランチなら並列で何個も実験できるんですね!

ミサキ
ミサキ

その通り!だからね、「大きな実験」「新機能の追加」「いろんなことを試したい」って時は、ブランチを使う。それに対して、Revertは「あ、もう遠くになった1個のコミットで小さなミスがあった」みたいな時に使うイメージね

ケンタ
ケンタ

なるほど…ブランチは「実験区域」で、Revertは「過去の誤りを打ち消す」って感じですね

ミサキ
ミサキ

いい理解よ!使い分けをまとめるとこんな感じね

ブランチとRevertの使い分け

やりたいこと 使う機能
失敗して全部捨てたい ブランチ削除
途中のステップも全部残したい ブランチで管理
複数の実験を同時にやりたい ブランチ複数作成
遠い過去の1つのコミットだけ打ち消したい Revert

image

ケンタ
ケンタ

わかりました!今後はブランチを積極的に使います!

ブランチは「実験を安全に管理する仕組み」。Revertは「古い変更を打ち消す仕組み」。用途が違うのです。

重要なこととして、コミットした歴史は変えられません※。なので、ブランチを使うことが、その方向性の歴史をなかったことに出来る唯一の方策にもなります。

※ Gitの履歴は一度確定すると変更しないのが原則です。


Pull Requestで自分をレビュー

ケンタ
ケンタ

ブランチで作業したコードを、mainに合流させる時って、いきなりマージしちゃっていいんですか?

ミサキ
ミサキ

いい質問ね!実はもっといい方法があるの。「Pull Request」っていう機能を使うのよ

ケンタ
ケンタ

プル…リクエスト?

ミサキ
ミサキ

「この変更をmainブランチに取り込んでください」っていうお願いを出す機能なの

ケンタ
ケンタ

でも、僕一人でやってるんですけど…自分に自分でお願いするんですか?

ミサキ
ミサキ

そう見えるけど(笑)、実はこれ、一人プロジェクトでもすごく便利なのよ! まずはboss-battleブランチをPublishしましょう!


ミサキ
ミサキ

GitHubに行くと、Compare & Pull Requestという画面が出ているわね。
Screen Shot 2025-12-13 at 20 16 40
このPull Requestを使うと、変更内容を「レビュー画面」で見られるの。何を追加して、何を削除したか、一目でわかるのよ

ケンタ
ケンタ

へぇ…!

ミサキ
ミサキ

クリックするとこんな画面よ。
Screen Shot 2025-12-13 at 20 23 32
下に行くと変更内容が色分けで表示されるの。赤が削除、緑が追加ね
Screen Shot 2025-12-13 at 20 20 19

ケンタ
ケンタ

わかりやすい…!

ミサキ
ミサキ

ここで、自分のコードをじっくり見直すの。「このコメント、わかりにくいな」とか「この変数名、もっといい名前にしよう」とか気づくことが多いのよ

ケンタ
ケンタ

客観的に見られるってことですね!

ミサキ
ミサキ

まさに!問題なければ、後で読み返してもわかるように内容を書いて
Screen Shot 2025-12-13 at 20 23 36「Create pull request」ボタンを押せば、晴れてPull Requestが出来るわ。出来たPRは
Screen Shot 2025-12-13 at 20 28 37
このように見れて、必要ならもう一回File changedでどんな変更を加えたかを見ることも出来るわ。最後は下にスクロールしてMerge pull requestよ!
Screen Shot 2025-12-13 at 20 29 05


Pull Requestは「マージ前の検査場」。ここで最終チェックをすることで、品質の高いコードをmainブランチに保てます。


AIがコードを見てくれる?

ケンタ
ケンタ

あっ、先輩!Pull Requestに何かコメントがついてるんですけど…僕、誰にも共有してないのに…
Screen Shot 2025-12-13 at 20 32 39

ミサキ
ミサキ

あー、それはGemini Code Assistね
Gemini Code Assist Logo

ケンタ
ケンタ

ジェミニ…?

ミサキ
ミサキ

GoogleのAIがコードを自動でレビューしてくれる機能よ。Pull Requestを作ると、勝手にコードを見て「ここ、こうした方がいいんじゃない?」って提案してくれるの

ケンタ
ケンタ

えっ、AIが先生みたいにレビューしてくれるんですか!?

ミサキ
ミサキ

そう!例えば、「この数字、マジックナンバーだから定数にした方がいいよ」とか、具体的にアドバイスしてくれるのよ

Screen Shot 2025-12-13 at 20 35 38

ケンタ
ケンタ

すごい…一人で開発してると、誰にも見てもらえないから不安だったんですけど…

ミサキ
ミサキ

でしょ?一人プロジェクトでも、AIがペアプログラミングの相手になってくれる感じね

ケンタ
ケンタ

どうやって使うんですか?

ミサキ
ミサキ

GitHubのMarketplaceから「Gemini Code Assist」をインストールするだけよ。無料で使えるわ

ケンタ
ケンタ

それ、すぐ入れます! ……って先輩いつの間に入れていたの?!

Gemini Code Assistを入れる作業は以下の通り

Screen Shot 2025-12-13 at 21 55 51

Installを押します

image

全部または特定のリポジトリを見ていいよ と設定します。

Screen Shot 2025-12-13 at 22 00 19

今度はGeminiにGitHubのアカウントでログインします。

image

自分のアカウントを選んでContinueします。

image

GitHubアカウントのどの情報を見るかを確認されるのでAuthorizeします。

image

Geminiの利用規約に同意します。

Screen Shot 2025-12-13 at 22 01 11

レビューのしきい値はそのままでいいでしょう。

Screen Shot 2025-12-13 at 22 01 16

これにてインストール完了です!

ミサキ
ミサキ

必要だったからね。ただし、AIの提案が常に正しいとは限らないし、問題の全てを指摘してくれることもないから、「なるほど、こういう考え方もあるんだ」くらいの気持ちで参考にするのがいいわね

ケンタ
ケンタ

わかりました!鵜呑みにしないで、自分でも考えるようにします

Gemini Code Assistは、Pull Requestに自動でレビューコメントをつけてくれるAIツールです。一人開発でも「第三者の目」が得られるので、コードの品質向上に役立ちます。

Gemini Code Assistの主な機能

  • 変更サマリー: PRの変更内容を日本語で要約
  • コードレビュー: マジックナンバーや改善点を指摘
  • 優先度表示: High / Medium / Low で重要度がわかる

ミサキ
ミサキ

ちなみに、Pull Requestをマージしたら、そのブランチは削除していいわよ

ケンタ
ケンタ

えっ、削除しちゃっていいんですか?

ミサキ
ミサキ

大丈夫。マージ済みのブランチは、もう役目を終えたから。GitHubが「Delete branch」ボタンも用意してくれてるわ

ケンタ
ケンタ

なるほど…整理整頓も大事なんですね!

Screen Shot 2025-12-13 at 20 37 11 Screen Shot 2025-12-13 at 20 37 17

マージ済みのブランチは削除してOK。Pull Requestの記録は残るので、履歴は失われません。


第7章:困ったときは?

ケンタ
ケンタ

使ってるうちに、わからないことが出てきたらどうしよう…?

ミサキ
ミサキ

大丈夫、GitHubは利用者が多いから、ネットに情報がたくさんあるわよ

ケンタ
ケンタ

そうなんですか?

ミサキ
ミサキ

うん。「GitHub 使い方」とか「Git 初心者」とか検索すれば、優しい記事がいっぱい出てくるわ。GitHub公式のドキュメントも日本語対応してるし

ケンタ
ケンタ

安心しました…!

ミサキ
ミサキ

最初は戸惑うこともあるかもしれないけど、使ってるうちに絶対慣れるから。焦らずゆっくりいきましょ

ケンタ
ケンタ

はい!頑張ります!

コミュニティも活発なので、困ったことがあっても大丈夫。みんな最初は初心者でした。


💡 HSPとGitHubの補足

複数人開発について

HSPは基本的に一つの大きなファイルで開発することが多いため、複数人で同時にコードを編集すると「コンフリクト」が起きやすいです。もし友達と一緒に開発したい場合は、「役割分担」(Aさんは画像担当、Bさんは音楽担当、自分はプログラム担当など)をはっきりさせるか、#moduleを使ってファイルを分割することをおすすめします。

Issue(課題管理)について

GitHubには「Issue」という課題管理機能もありますが、小規模な一人プロジェクトでは、コミットメッセージで十分管理できることが多いです。「将来実装したい機能」のメモとして使うのはアリですが、無理に使う必要はありません。


エピローグ:一週間後…

ミサキ
ミサキ

ケンタくん、その後GitHubは使ってる?

ケンタ
ケンタ

はい!もう手放せないです…!

ミサキ
ミサキ

おお、いい感じじゃない(笑)

ケンタ
ケンタ

こないだ、大胆にコード変更して、やっぱりダメだったから戻した時は感動しました…!本当にタイムマシンみたいで…!

ミサキ
ミサキ

でしょ?それがGitの醍醐味よ

ケンタ
ケンタ

それに、コミットメッセージを見返すと、自分の成長が見えて楽しいんです。「この時はこんなこと考えてたんだな」って

ミサキ
ミサキ

すごくいい使い方してるわね!

ケンタ
ケンタ

先輩のおかげです。教えてくれてありがとうございました!

ミサキ
ミサキ

どういたしまして。これからも、どんどん新しいことに挑戦していってね

ケンタ
ケンタ

はい!次はブランチを使いこなせるように頑張ります!

こうして、ケンタのプログラミングライフは、GitHubによって大きく変わりました。安心して挑戦できる環境があれば、成長のスピードも加速します。あなたも、今日からGitHubを始めてみませんか?


まとめ:GitHubを始めるための3ステップ

1. 準備する

  • hsed3u8.exe(UTF-8版エディタ)を使う
  • GitHubアカウントを作成
  • GitHub Desktopをインストール

2. 基本を覚える

  • リポジトリを作る(Privateで)
  • コミット → プッシュ の流れを習慣にする
  • .gitignoreを設定する

3. 便利機能を使う

  • Discard changesで失敗を恐れず実験
  • ブランチ&Pull Requestで安全に新機能追加
  • Gemini Code AssistでAIレビュー

🎯 覚えるべき用語(最小限)

用語 意味
リポジトリ プロジェクトの保存場所
コミット 変更を記録すること(セーブ)
プッシュ ローカルの変更をGitHubに送ること
プル GitHubの変更をローカルに持ってくること
ブランチ 並行世界を作る機能
Pull Request 変更を確認してから合流させる機能

最後に…

GitHubは最初は難しく感じるかもしれませんが、使えば使うほど「これなしでどうやってプログラミングしてたんだろう?」と思えるほど便利なツールです。

一歩ずつ、焦らずに。あなたのペースで始めてみてください。

きっと、プログラミングがもっと楽しくなりますよ! 🚀

(完全な余談ですが、私はこの記事を書くためだけにGitHub Desktopを入れました。いつもはどうしてるかって? Visual Studio CodeはGit管理便利なんです)