Gitの基本操作
要点
- Gitでの変更は「作業ディレクトリ」→「ステージ」→「リポジトリ」という3段階を経て履歴に記録されます。
addはステージに上げる、commitは履歴に記録する、push/pullはリモートとやり取りする操作です。- 細かい文法よりも「今、自分の変更がどの段階にあるか」をイメージできることが大切です。
ディレクトリ
(履歴)
3つの場所を意識する
Gitを使ううえで最初につまずきやすいのが「今どこを操作しているのか」が分からなくなることです。Gitには次の3つの場所があり、ファイルはこの順番で移動していきます。
🔑 身近な例荷物の発送に例えると分かりやすいです。「作業ディレクトリ」は自宅で荷造りしている状態、「ステージ」は発送する荷物を選んで玄関に並べた状態、「リポジトリ」は実際に発送を終えて記録が残った状態、というイメージです。
git add: ステージに上げる
git addは、変更したファイルの中から「次のコミットに含めたいもの」を選んでステージに上げる操作です。すべての変更を一度にコミットする必要はなく、関連する変更だけをまとめて選べます。
ファイル一式
(選ぶ)
上がった変更
例えば「ログイン機能の修正」と「見た目の微調整」を同時に編集していた場合、まずログイン機能の分だけをaddし、意味のまとまりごとにコミットを分けることができます。
git commit: 履歴に記録する
git commitは、ステージに上げた内容を「1つの区切り」としてリポジトリの履歴に記録する操作です。コミットには、変更内容とあわせて「コミットメッセージ」という短い説明を付けます。
(履歴の1コマ)
「ログインボタンの不具合を修正」のように、後から見て何をしたのか分かるメッセージを残すことが、チーム開発ではとても重要になります。
🔑 身近な例日記を書くイメージです。ただ「変更した」と書くだけでなく「何を・なぜ変更したか」を一言添えておくと、後で読み返したときに状況を思い出しやすくなります。
git push: リモートに反映する
ここまでのadd・commitは、すべて自分の手元(ローカルリポジトリ)の中だけで完結しています。git pushは、その手元の履歴を、GitHubなどの共有リポジトリ(リモート)に送信する操作です。
(ローカル)
(リモート)
pushして初めて、自分の変更がチームの他のメンバーからも見えるようになります。
git pull: リモートの変更を取り込む
git pullはpushの逆で、リモートリポジトリにある最新の履歴を、自分の手元に取り込む操作です。他のメンバーが加えた変更を自分の環境に反映させたいときに使います。
(リモート)
(ローカル)
作業を始める前にまずpullしておく、というのはチーム開発での基本の習慣です。手元が古いままだと、後で他の人の変更と衝突しやすくなります。
状態を確認するコマンド
操作の合間には、今の状況を確認するコマンドもよく使います。git statusはどのファイルが変更・ステージ済みかを、git logはこれまでのコミット履歴を表示してくれます。
🔑 身近な例作業中に「今どこまで終わったっけ?」と手元を見返すのと同じ感覚です。迷ったらまずstatusで現在地を確認する、という癖をつけておくと安心です。
まとめ
Gitの基本操作は、作業ディレクトリ・ステージ・リポジトリという3段階の流れと、それをリモートとやり取りするpush・pullを押さえれば全体像がつかめます。最初は文法よりも「今どの段階にいるか」を意識することが上達の近道です。
関連トピック: