Gitの基本操作

要点

  • Gitでの変更は「作業ディレクトリ」→「ステージ」→「リポジトリ」という3段階を経て履歴に記録されます。
  • addはステージに上げる、commitは履歴に記録する、push/pullはリモートとやり取りする操作です。
  • 細かい文法よりも「今、自分の変更がどの段階にあるか」をイメージできることが大切です。
作業
ディレクトリ
add
ステージ
commit
リポジトリ
(履歴)

3つの場所を意識する

Gitを使ううえで最初につまずきやすいのが「今どこを操作しているのか」が分からなくなることです。Gitには次の3つの場所があり、ファイルはこの順番で移動していきます。

📝 作業ディレクトリ 実際に編集する場所
🗂️ ステージ 次のコミットの候補置き場
📜 リポジトリ 確定した履歴

🔑 身近な例荷物の発送に例えると分かりやすいです。「作業ディレクトリ」は自宅で荷造りしている状態、「ステージ」は発送する荷物を選んで玄関に並べた状態、「リポジトリ」は実際に発送を終えて記録が残った状態、というイメージです。

git add: ステージに上げる

git addは、変更したファイルの中から「次のコミットに含めたいもの」を選んでステージに上げる操作です。すべての変更を一度にコミットする必要はなく、関連する変更だけをまとめて選べます。

変更した
ファイル一式
git add
(選ぶ)
ステージに
上がった変更

例えば「ログイン機能の修正」と「見た目の微調整」を同時に編集していた場合、まずログイン機能の分だけをaddし、意味のまとまりごとにコミットを分けることができます。

git commit: 履歴に記録する

git commitは、ステージに上げた内容を「1つの区切り」としてリポジトリの履歴に記録する操作です。コミットには、変更内容とあわせて「コミットメッセージ」という短い説明を付けます。

ステージ
git commit
コミット
(履歴の1コマ)

「ログインボタンの不具合を修正」のように、後から見て何をしたのか分かるメッセージを残すことが、チーム開発ではとても重要になります。

🔑 身近な例日記を書くイメージです。ただ「変更した」と書くだけでなく「何を・なぜ変更したか」を一言添えておくと、後で読み返したときに状況を思い出しやすくなります。

git push: リモートに反映する

ここまでのaddcommitは、すべて自分の手元(ローカルリポジトリ)の中だけで完結しています。git pushは、その手元の履歴を、GitHubなどの共有リポジトリ(リモート)に送信する操作です。

自分のPC
(ローカル)
git push
GitHubなど
(リモート)

pushして初めて、自分の変更がチームの他のメンバーからも見えるようになります。

git pull: リモートの変更を取り込む

git pullpushの逆で、リモートリポジトリにある最新の履歴を、自分の手元に取り込む操作です。他のメンバーが加えた変更を自分の環境に反映させたいときに使います。

GitHubなど
(リモート)
git pull
自分のPC
(ローカル)

作業を始める前にまずpullしておく、というのはチーム開発での基本の習慣です。手元が古いままだと、後で他の人の変更と衝突しやすくなります。

状態を確認するコマンド

操作の合間には、今の状況を確認するコマンドもよく使います。git statusはどのファイルが変更・ステージ済みかを、git logはこれまでのコミット履歴を表示してくれます。

git status今の変更・ステージ状況を確認
git logこれまでのコミット履歴を確認

🔑 身近な例作業中に「今どこまで終わったっけ?」と手元を見返すのと同じ感覚です。迷ったらまずstatusで現在地を確認する、という癖をつけておくと安心です。

まとめ

Gitの基本操作は、作業ディレクトリ・ステージ・リポジトリという3段階の流れと、それをリモートとやり取りするpushpullを押さえれば全体像がつかめます。最初は文法よりも「今どの段階にいるか」を意識することが上達の近道です。

関連トピック:

🏠 トップに戻る