初心者でもわかる!GitHubって何?~ケンタとミサキの優しいGit入門~
目次
(挿絵は全てGemini製のため、一部文字列に誤りがあります)
「もう失敗を恐れなくていい。」
昨日まで動いてたのに、今日なぜか動かない?
しかも修正前に戻れない!? その絶望、GitHubで終わりにしよう。
登場人物
- ケンタ: HSP中級者だけど、Gitはほぼ知らない若手プログラマー
- ミサキ: 優しい先輩エンジニア。GitHubは日常的に使っている
プロローグ:ファイル管理の地獄
ある日の開発室。ケンタのPCの前で……
うわあああ…絶望…(頭を抱える)
あら?どうしたのケンタくん。顔色悪いわよ?
あのですね…機能を追加するたびにファイルが混乱してきて…もう何が最新版かわからなくなっちゃったんです…
あー、あるある。shooting.hsp、shooting_tama.hsp、shooting_tama_atari.hsp、shooting_tama_atari_sound.hsp、shooting_ugoku_yatsu.hsp…って感じでファイルが増えていくやつね(笑)
まさに!どれが最新かわからなくて、バックアップもぐちゃぐちゃで…先輩、どうしたらいいんですか…!?
ファイル名で管理していると、こういう問題は誰もが一度は経験するもの。でも、実はこれを解決する素晴らしいツールがあるんです。
第1章:GitHubって何?
Gitとは?
それなら、GitHubを使ってみたらどう?
ギッ、ギットハブ…?(聞いたことはあるけど)
そう。Gitっていうのは、簡単に言うとファイルの履歴を管理してくれるツールなの。GitHubは、そのGitをネット上で使えるようにしたサービスよ
えっと…つまり、どういうことですか?
例えば、ゲームのセーブデータって、「セーブ1」「セーブ2」「セーブ3」って複数保存できるでしょ?Gitはそれをプログラムでやってくれるの。「この時点のコード」「あの時点のコード」って、全部記録しておけるのよ
おお…!それなら、間違えて大事なコードを消しちゃっても戻せるってことですか?
その通り!しかも、「いつ」「誰が」「何を」「なぜ」変更したかも全部記録できるの。メモも残せるから、後で見返したときに「あれ、なんでこうしたんだっけ?」ってならないのよ
Gitとは「バージョン管理システム」のこと。プログラムの変更履歴を記録して、過去の状態に戻したり、変更内容を確認したりできる優れものです。
公開されちゃうの?
でも、待ってください!GitHubって、世界中に公開されちゃうんですよね…?僕の恥ずかしいコードが全世界に晒されるのは…(青ざめる)
あはは、安心して。それは「パブリック(公開)リポジトリ」の場合ね。GitHubには「プライベート(非公開)リポジトリ」っていう機能があるの
プライベート…?
うん。プライベートにしておけば、自分だけ、もしくは許可した人だけが見られるようになるの。だから、個人の勉強用とか、会社の秘密のプロジェクトとかも安心して使えるのよ
そうなんですか!じゃあ、僕のぐちゃぐちゃなコードも安全に管理できるんですね…
そうそう。むしろ、ぐちゃぐちゃなコードだからこそ、Gitで整理していくのがおすすめよ。後で「あの時はこんなコード書いてたんだ」って成長が実感できるから
GitHubは無料でプライベートリポジトリを作成できます(無制限!)。初心者のうちは、まずプライベートで練習するのがおすすめです。
GitHubでできること
じゃあ、GitHubで具体的に何ができるか説明するわね
お願いします!
まず一番大事なのが「タイムマシン機能」。さっき言ったように、過去のどの時点にも戻れるの
それ、すごく便利そうです!「やっぱりさっきの方が良かった」ってなった時とか…
そうそう。例えば、「昨日の夜までは動いてたのに、今日いじったら動かなくなった」って時、昨日の状態に簡単に戻せるのよ
便利すぎる…!
それから、「ブランチ」っていう機能もあるの。これは、元のコードはそのままにして、別の場所で新機能を試せるの
別の場所…?
うん。例えば、「今動いてるゲーム」はそのままにして、「新しい敵キャラを追加してみる実験」を別のブランチでやるの。うまくいったら元に合流させて、失敗したら捨てればいい
なるほど…!「完成版」と「実験版」を分けて管理できるってことですね
ブランチは、同じプロジェクトの中で「平行世界」を作れる機能。メインの開発を止めずに、新しいアイデアを試せます。
あと、すごく便利なのが「複数のパソコンで同じプロジェクトを扱える」ってことね
複数のパソコン…?
そう。例えば、家のデスクトップPCと、持ち運び用のノートPCでプログラミングするとするでしょ?
はい…僕、まさにそうなんです。家と学校でプログラミングしたくて…
だったら、GitHubは最高よ!家でコミット&プッシュしておけば、学校のPCでプルするだけで、続きから作業できるの
えっ、そんなに簡単なんですか!?
簡単よ。USBメモリでファイルを持ち運ぶ必要もないし、「あれ、最新版どっちだっけ?」って悩むこともないの
それ、めっちゃ便利じゃないですか…!今までUSBメモリで持ち運んでて、時々古いバージョン上書きしちゃってたんです…
あるある(笑)。GitHubを使えば、そういう悲劇とはおさらばよ
GitHubは「クラウドストレージ」としても機能します。ただのファイル保存ではなく、バージョン管理もできる高機能なストレージです。
第2章:始める前の準備
難しくないの?
でも、そういうツールって、使い方が難しそうで…コマンドとか覚えないといけないんですよね?
確かに、Gitのコマンドは最初はちょっと戸惑うかもね。でも大丈夫!
大丈夫なんですか…?
うん。実は、GitHubには「GitHub Desktop」っていうアプリがあるの。これを使えば、マウスでポチポチするだけでGitが使えるのよ
えっ、コマンド打たなくていいんですか!?
打たなくていいの(笑)。ボタンを押すだけで保存できるし、履歴も見やすいし、初心者にはすごくおすすめよ
それなら僕でもできそう…!
それに、慣れてきたらコマンドも覚えていけばいいから。最初はアプリで感覚をつかむのが一番よ
GitHub Desktopは無料でダウンロードできます。Windows版もMac版もあり、直感的な操作でGitを使えます。
⚠️ 重要: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のサイトでアカウントを作るの。メールアドレスがあれば無料で作れるわ
アカウント登録って、面倒じゃないですか…?
全然!メールアドレスとパスワード、ユーザー名を決めるだけで、1分もかからないわよ
そんなに簡単なんですか!
それに、実は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」…
リポジトリの名前は「shooting-game」とかでいいわね。下の方に「Private」ってチェックボックスがあるから、それにチェックを入れて
プライベート…これで自分だけになるんですね。チェックしました!
「Create repository」ボタンを押したら、リポジトリの完成よ
できた!なんか、自分専用の保管庫ができた気分です…!
いい感覚ね(笑)。次に、GitHub Desktopを開いて、「Clone a repository」を選んで、今作ったリポジトリを選ぶの
えっと…「shooting-game」…あった!どこに保存しますか?
ドキュメントフォルダとか、わかりやすい場所でいいわよ
(操作中)…できました!
じゃあ、Show in Explorerをクリックして、エクスプローラーでそのフォルダに、今まで作ってたHSPファイルをコピーしてみて
はい…(コピー中)…入れました
GitHub Desktopを見てみて。左側に変更されたファイルが表示されてるはずよ
ホントだ!「shooting.hsp」って表示されてる…!
もしここでhsed3.exe(標準)を使っていると、右の差分表示が文字化けして読めないことになっているわ。注意してね
.gitignoreを設定する
(一回HSPで実行してみて)…あれ、先輩、変なファイルも表示されてます…
変なファイル?どんなの?
えっと…「hsptmp」とか「obj」とか「packfile」とか…
あー!それはHSPが自動で作る一時ファイルね。実行したりコンパイルすると勝手にできるやつ
これ、コミットしちゃダメなんですか?
ダメダメ!これをコミットすると、実行するたびに『ファイルが変更された』って表示されて、めちゃくちゃ混乱するわよ
えっ、それは困る…!
こういう『管理しなくていいファイル』を指定するために、「.gitignore(ギットイグノア)」っていうファイルを作るの
ギットイグノア…?
うん。『ignore(無視する)』って意味ね。このファイルに書いたものは、Gitが無視してくれるのよ
HSPは実行時に一時ファイルを自動生成します。これらはプログラムの本体ではないので、Gitで管理する必要はありません。
一つ一つ手作業で除外することも出来るけど
(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ファイル』って意味。「*」はワイルドカードって言って、『何でもいい』って意味なの
へぇ…便利ですね!
.gitignoreファイルは、プロジェクトの「門番」のようなもの。一度作っておけば、あとは自動で不要ファイルを弾いてくれます。
初めてのコミット
じゃあ、初めてのコミットをしてみましょう。左下の「Summary」っていう欄に、メモを書くの
えっと…何て書けばいいんですか?
最初だから「初回コミット」とか「プロジェクト開始」とかでいいわよ。英語で「Initial commit」って書く人も多いわね
じゃあ「シューティングゲーム、プロジェクト開始!」って書きます
いいわね!気持ちがこもってる(笑)。じゃあ、青い「Commit to main」ボタンを押してみて
(ポチッ)…あれ、ファイルの表示が消えた?
正解!コミット(保存)されたから、変更済みファイルのリストから消えたのよ
おお…!
最後に、上の「Push origin」……初回だからPublish branchボタンを押して、GitHubに送るの
(ポチッ)…これで完了ですか?
そう!GitHubのサイトに戻って、リポジトリを見てみて
(ブラウザを見る)わあ…!ファイルがアップロードされてる…!すごい…!
おめでとうございます!これで、あなたのコードは安全にGitHubで管理されるようになりました。
日常的な使い方
これからは、プログラムを書いたら、こまめにコミットする習慣をつけるといいわよ
こまめに…どのくらいですか?
そうね、「敵キャラを追加した」「弾の速度を調整した」「BGMを追加した」みたいに、一つの機能ができたらコミットする感じかな
一つの機能ごと、ですね!
そう。あんまり細かすぎても大変だけど、「今日やったこと全部まとめて」だと、後で探しにくくなるからね
なるほど…バランスが大事なんですね
それと、コミットメッセージ(さっきのメモ)は、後で自分が見てわかるように書くのがコツよ。「修正」だけじゃなくて、「敵の当たり判定を修正」って書いた方が、後で探しやすいわ
確かに…!未来の自分のために書くんですね
コミットメッセージは、未来の自分へのメモ。丁寧に書いておくと、数ヶ月後に「神…!」ってなります。
第4章:複数のパソコンで開発する
先輩、さっき言ってた「複数のPCで作業する」のを、実際にやってみたいんですけど…
いいわね!流れは簡単よ
基本の流れ
家で作業する時も、学校で作業する時も、やることは同じ:
- フェッチ&プル(最新版を取得)
Fetch originをクリックして
Pull originをクリックする
- 作業(プログラミング)
- コミット(保存)
- プッシュ(アップロード)
あれ…場所が違っても同じなんですね?
そう、まったく同じ(笑)。重要なのは「作業前に必ずプル」ってこと。これを忘れると、古いバージョンで作業しちゃうから
気をつけます!
マルチデバイス開発の極意は「プルを忘れない」。これさえ守れば、トラブルはほぼ起きません。
もし両方のPCで同時に作業しちゃったらどうなるんですか?
そしたら、Gitが「コンフリクトしてるよ」って教えてくれるの
コンフリクト…!怖い…!
大丈夫、落ち着いて。この場合は、各ファイルをエディターで修正するか、”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…(変更を破棄)」を選ぶの
これを選ぶと…?
前回コミットした時の状態に、一瞬で戻るの!まさにセーブポイントに戻るゲームみたいでしょ?
すごい…!じゃあ、何時間かけて失敗したコードも、一瞬で消せるんですか?
そう!だから、思い切って実験できるのよ。失敗しても「Discard changes」で戻せばいいだけだから
「Discard changes(変更を破棄)」は、Gitで最もよく使う機能の一つです。
パターン2:コミットした後で取り消す(たまに使う)
次は、コミットした後で「やっぱりダメだった」ってパターンね
コミットした後でも戻せるんですか?
戻せるわよ。GitHub Desktopの「History」タブで、戻りたいコミットを右クリックして、「Revert changes in commit」を選ぶの
「Revert(リバート)」…?
「打ち消す」って意味ね。例えば、「敵キャラを追加」ってコミットをRevertすると、「敵キャラを削除」っていう新しいコミットが作られるの。履歴は残るけど、内容は元に戻るわ
へぇ…!便利ですね
Revertは「やり直し」ではなく「打ち消し」。履歴は消さずに、効果だけを元に戻します。
どっちを使えばいい?
| 状況 | 使う機能 | 頻度 |
|---|---|---|
| まだコミットしてない変更を取り消したい | Discard changes | ⭐⭐⭐(超頻繁) |
| コミットした変更を取り消したい | Revert | ⭐(たまに) |
9割は「Discard changes」を使うことになるわ。だから、まずはこっちを覚えておけば大丈夫!
わかりました!これで、安心して実験できます!
失敗を恐れずチャレンジできる環境。それが、Gitの最大の魅力です。
第6章:応用編 〜ブランチとPull Request〜
ブランチを使ってみよう
慣れてきたら、「ブランチ」も使ってみるといいわよ
ブランチ…さっき言ってた、平行世界を作るやつですよね
そう!例えば、「ボスキャラを追加したいけど、うまくいくかわからない」って時、新しいブランチを作るの
どうやって作るんですか?
GitHub Desktopの上の方に「Current branch」ってあるでしょ?そこをクリックして「New branch」を選ぶの。
名前は「boss-character」とかでいいわね
はい…(作成中)…できました!
これで、今から書くコードは「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 |
わかりました!今後はブランチを積極的に使います!
ブランチは「実験を安全に管理する仕組み」。Revertは「古い変更を打ち消す仕組み」。用途が違うのです。
重要なこととして、コミットした歴史は変えられません※。なので、ブランチを使うことが、その方向性の歴史をなかったことに出来る唯一の方策にもなります。
※ Gitの履歴は一度確定すると変更しないのが原則です。
Pull Requestで自分をレビュー
ブランチで作業したコードを、mainに合流させる時って、いきなりマージしちゃっていいんですか?
いい質問ね!実はもっといい方法があるの。「Pull Request」っていう機能を使うのよ
プル…リクエスト?
「この変更をmainブランチに取り込んでください」っていうお願いを出す機能なの
でも、僕一人でやってるんですけど…自分に自分でお願いするんですか?
そう見えるけど(笑)、実はこれ、一人プロジェクトでもすごく便利なのよ! まずはboss-battleブランチをPublishしましょう!
GitHubに行くと、Compare & Pull Requestという画面が出ているわね。
このPull Requestを使うと、変更内容を「レビュー画面」で見られるの。何を追加して、何を削除したか、一目でわかるのよ
へぇ…!
クリックするとこんな画面よ。
下に行くと変更内容が色分けで表示されるの。赤が削除、緑が追加ね
わかりやすい…!
ここで、自分のコードをじっくり見直すの。「このコメント、わかりにくいな」とか「この変数名、もっといい名前にしよう」とか気づくことが多いのよ
客観的に見られるってことですね!
まさに!問題なければ、後で読み返してもわかるように内容を書いて「Create pull request」ボタンを押せば、晴れてPull Requestが出来るわ。出来たPRは
このように見れて、必要ならもう一回File changedでどんな変更を加えたかを見ることも出来るわ。最後は下にスクロールしてMerge pull requestよ!
Pull Requestは「マージ前の検査場」。ここで最終チェックをすることで、品質の高いコードをmainブランチに保てます。
AIがコードを見てくれる?
あっ、先輩!Pull Requestに何かコメントがついてるんですけど…僕、誰にも共有してないのに…
あー、それはGemini Code Assistね
ジェミニ…?
GoogleのAIがコードを自動でレビューしてくれる機能よ。Pull Requestを作ると、勝手にコードを見て「ここ、こうした方がいいんじゃない?」って提案してくれるの
えっ、AIが先生みたいにレビューしてくれるんですか!?
そう!例えば、「この数字、マジックナンバーだから定数にした方がいいよ」とか、具体的にアドバイスしてくれるのよ
すごい…一人で開発してると、誰にも見てもらえないから不安だったんですけど…
でしょ?一人プロジェクトでも、AIがペアプログラミングの相手になってくれる感じね
どうやって使うんですか?
GitHubのMarketplaceから「Gemini Code Assist」をインストールするだけよ。無料で使えるわ
それ、すぐ入れます! ……って先輩いつの間に入れていたの?!
Gemini Code Assistを入れる作業は以下の通り
Installを押します
全部または特定のリポジトリを見ていいよ と設定します。
今度はGeminiにGitHubのアカウントでログインします。
自分のアカウントを選んでContinueします。
GitHubアカウントのどの情報を見るかを確認されるのでAuthorizeします。
Geminiの利用規約に同意します。
レビューのしきい値はそのままでいいでしょう。
これにてインストール完了です!
必要だったからね。ただし、AIの提案が常に正しいとは限らないし、問題の全てを指摘してくれることもないから、「なるほど、こういう考え方もあるんだ」くらいの気持ちで参考にするのがいいわね
わかりました!鵜呑みにしないで、自分でも考えるようにします
Gemini Code Assistは、Pull Requestに自動でレビューコメントをつけてくれるAIツールです。一人開発でも「第三者の目」が得られるので、コードの品質向上に役立ちます。
Gemini Code Assistの主な機能
- 変更サマリー: PRの変更内容を日本語で要約
- コードレビュー: マジックナンバーや改善点を指摘
- 優先度表示: High / Medium / Low で重要度がわかる
ちなみに、Pull Requestをマージしたら、そのブランチは削除していいわよ
えっ、削除しちゃっていいんですか?
大丈夫。マージ済みのブランチは、もう役目を終えたから。GitHubが「Delete branch」ボタンも用意してくれてるわ
なるほど…整理整頓も大事なんですね!
マージ済みのブランチは削除して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管理便利なんです)
コメント