結論:Gitは「変更を記録するスナップショット(セーブポイント)」を積み重ねる仕組みで、git add(記録する変更を選ぶ)→git commit(記録を確定する)→git push(記録をリモートに送る)の3手順の意味さえ分かれば、最初の1歩は誰でも踏み出せます。 実際にコマンドを打って結果を見るのが一番早く、環境構築なしでブラウザ内のシミュレータを使えば1時間もかからず体感できます。
Gitとは何か ― 「セーブポイント」で考える
ゲームのセーブポイントのように、「今の状態」を記録として残せる仕組みがGitです。コードを書いていると「昨日の状態に戻したい」「いつ・なぜこの行を変えたのか知りたい」という場面が必ず来ます。ファイルを app_final.js app_final2.js app_本当に最終.js と増やして管理するのではなく、Gitに履歴として残せば、いつでも過去の状態に戻れます。
この「変更の記録」の仕組みは Wikiの「Gitとは」 にも整理していますが、言葉で読むより先に手を動かすほうが理解が早いです。Become-CoderのGitコースは、ブラウザ内で動くシミュレートGitにコマンドを打ち込んで、その場で結果を確認しながら学べます。インストール不要・登録不要・無料です。
最初のレッスン 「バージョン管理とは ― git init」 から実際に git init を打ってみると、「Gitを使い始める」がどういうことか一発で分かります。
つまずきポイント1:3つのエリアが分からない
Git初心者が最初に混乱するのが、「変更を保存したつもりなのに反映されない」という状況です。これはGitが変更を3つのエリアに分けて管理しているために起こります。
この3つのエリアの関係は 「git status ― 3つのエリアを理解する」 で図解しながら扱っています。git status は「今どのファイルが、どの段階にいるか」を教えてくれる最も基本的なコマンドで、迷ったらまずこれを打つ癖をつけると混乱しません。
つまずきポイント2:git add commit push の役割の違い
「git add commit push とは」で検索する人の多くは、この3つが似た響きなのに何が違うのか掴めていません。役割はそれぞれ次の通りです。
- git add:作業ツリーの変更のうち、「次のコミットに含めたいもの」だけをステージに載せる。全部まとめてではなく、関係する変更だけを選んで小さくコミットできるのがGitの強みです。詳しくは 「git add ― 変更をステージに載せる」 を参照。
- git commit:ステージに集めた変更を、1つのセーブポイントとして確定させる。必ずメッセージ(何をしたのかの一言)を添えます。これが未来の自分やチームへの手紙になります。詳しくは 「git commit ― 変更を記録する」 を参照。
- git push:ローカルに積み上げたコミットを、GitHubなどのリモートに送る。手元だけの記録をチームや別の環境と共有する最後の一手です。詳しくは 「git push ― リモートへ送る」 の前段 「リモートとは ― git remote add」 と、「git push ― リモートへ送る」 を参照。
Become-CoderのGitコースは、この git push までの計21レッスンがすべてブラウザ内のシミュレータで実際にコマンドを打って実行できます(第3章「リモートと共同作業」の git push まで)。実際のGitHubアカウントを用意しなくても、add→commit→pushの一連の流れを手を動かして体で覚えられるのが最大の利点です。
最初のコミットまでの実際の手順
初めてのコミットは、次の順番で進めます。
git initでリポジトリを作る(git-01)git configで名前とメールを設定する(git-02)— コミットには「誰が記録したか」という著者情報が必ず刻まれるため- ファイルを編集し、
git statusで今の状態を確認する(git-03) git addで変更をステージに載せる(git-04)git commit -m "メッセージ"で記録を確定する(git-05)git logで履歴を確認する(git-06)
ここまでがGitの最小サイクルです。この6ステップさえ体で覚えれば、あとの branch(git-09)や merge(git-12)、コンフリクトの解消(git-13)は応用にすぎません。
つまずきポイント3:コミット前に何を変えたか分からない
「add したはずなのに、実際どこを変えたか自分でも忘れた」というのもよくある悩みです。コミットする前に自分の変更を正確に見るコマンドが git diff で、追加した行は +、削除した行は - で示されます。コミット前に diff を見る習慣は、意図しない変更の混入を防いでくれます。詳しくは 「変更を見る ― git diff」 を参照してください。
また、ビルド生成物や node_modules のような「履歴に残したくないファイル」を毎回 git status に出さないための仕組みが .gitignore です。これも実際に手を動かして体験できます(git-08)。
「戻したい」と思ったら
Gitを安心して使えるのは「取り消せる」からです。ただし取り消しには段階があり、「まだステージだけ戻したい」「作業ツリーの編集ごと戻したい」「コミットまで打ち消したい」でコマンドが変わります。この整理は 「取り消しの基本 ― restore と reset」 と、コミット自体を安全に打ち消す 「git revert ― 変更を安全に打ち消す」 にまとめています。「間違えたら壊れるのでは」という不安は、この2つのレッスンを実際に試すことで解消できます。
次に読む
- Gitコースのトップページ — 「Gitをはじめる」→「ブランチとマージ」→「履歴を整える」→「リモートと共同作業」→「CI/CDとGitHub Actions」の全5章29レッスン。
git push(git-21)までブラウザで実際にコマンドを実行でき、clone/pull(git-22)以降のチーム開発フローとCI/CDは読み物として学べます。 - Wikiの「コミットとは」 / 「ブランチとは」 / 「リポジトリとは」 — 用語をさらに短く確認したいときに。
- Wikiの「マージコンフリクトとは」 — 衝突が怖い人はこちらも合わせて。
- プログラミング独学、何から始める? — Gitの前にそもそも何を学ぶか迷っている人はこちら。