新卒で入った弱小SES会社の研修でGitを使わされた。
まじで意味がわからなかった。「猿でもわかるGit」みたいな記事を何度も読んでも理解できなくて、僕は猿以下なんかと本気で思った。
そんな自分が今はClaude Codeと一緒にこのブログをGitで管理している。何がいいのかを書いておく。
Gitは「タイムマシン」
厳密には違うけど、自分的にはタイムマシンが一番しっくりきた。
任意のコミット(セーブポイント)まで戻れる。コードを触る前の状態に戻したいとき、あの時点に戻したいというときに使える。
Ctrl+Zとの違いは、アプリを閉じても消えないこと。1週間前でも1ヶ月前でも戻れる。
「最新」「fix」をファイル名に付けなくていい
これが一番実感できた恩恵かもしれない。
Gitを知らないとこういうことが起きる。
企画書_最終.docx
企画書_最終2.docx
企画書_最終_本当に最終.docx
企画書_fix.docx
Gitを使うとファイルは常に1つ。「どの状態か」はGitが管理してくれるので、ファイル名に日付やfixを付ける必要がない。
最初に混乱した専門用語
用語の多さがとにかくしんどかった。
- コミットとプッシュの違いって何?
- ブランチって何をするもの?
- マージって?
「猿でもわかるGit」を読んでも意味わからんくて途方に暮れてたけど、今は自分なりにこう理解してる。
- コミット = ローカル(自分のMac)でセーブする
- プッシュ = GitHubにアップロードする
- ブランチ = 試作ライン。本番を壊さずに作業できるスペース
- マージ = 試作ラインで作ったものを本番に合流させる
用語の定義を覚えようとするより、「何をするためのものか」で理解した方が早かった。
pushしたら自動でデプロイされる
これはGitというよりCloudflare Pagesとの連携の話だけど、このブログはpushするだけで自動的に公開される。
記事を書いてgit pushするだけ。それだけでサイトに反映される。FTPでファイルをアップロードしてた時代とは別物らしい(そっちは知らんけど)。
結局、文脈ごと保存するもの
ファイルを保存するのとは違う。「何をやっていたか」「なぜそうなったか」という文脈ごと保存するのがGitだと思う。
Claude Codeと一緒に作業していると、コミット履歴がそのままプロジェクトの日記になる。あとで見返したときに「このときこういう判断をしたんだな」がわかるのが地味に便利。
コードを書かない人でも、Claude Codeを使うならGitの使い方を覚えておいて損はない。新卒研修で意味わからんかった自分が言うので、たぶん大丈夫。