制作ツール

Gitとは?変更履歴を残して戻せる仕組みと、コミット・push・pullの基本

公開 更新 約4分で読めます

TL;DRこの記事の要点

  • Gitは、ファイルの変更履歴を記録して、戻せるようにする仕組み
  • コミットで記録し、pushでGitHubに送り、pullで取り込む
  • Gitは道具、GitHubはその記録を置くサービス
目次6項目
  1. Gitとは?ファイルの変更履歴を記録する仕組み
  2. どんなときに出てくる?
  3. 基本の流れ:編集して、記録して、送る
  4. 自分はこう使ってます
  5. Gitでハマった例
  6. 迷ったときの確認ポイント

WordPressのテーマやAIツールの解説を読んでいると、「Gitでコミットして、GitHubにpushします」という説明に出会います。
初めて見ると、何のことか分かりにくいですよね。

このブログのテーマは、Gitで管理しています。コマンドを実行しているのはClaude Codeで、自分は内容と結果を確認する役です。
Gitの基本を、公式の説明と一緒にまとめます。

先に結論です。
Gitは、ファイルの変更履歴を記録して、前の状態に戻せるようにする仕組みです。
変更を記録するのが「コミット」、GitHubに送るのが「push」、GitHubから取り込むのが「pull」です。

GitとGitHubって、同じもの?

別のものだよ。Gitは変更を記録する道具で、GitHubはその記録を置いておくサービスなんだ。

Gitとは?ファイルの変更履歴を記録する仕組み

Gitは、ファイルへの変更を追跡する、バージョン管理システムです。
GitHubの公式ドキュメントでは、プロジェクトの独自のコピーで作業して、変更履歴を記録できる、と説明されています。
つまり、ファイルの変更を記録して、あとから前の状態を確認したり、戻したりするための仕組みです。

Git公式のPro Gitによると、Gitは、変更前後の差分ではなく、その時点のファイル全体の状態(スナップショット)を記録します。
履歴を見たり、コミットしたりする操作の多くは、自分のパソコンの中で完結するので、ネットワークにつながっていなくてもコミットできます。

GitHubは、Gitで管理しているプロジェクトを、クラウドに置いて共有するためのサービスです。Gitのプロジェクトは「リポジトリ」と呼ばれます。
Gitだけでも使えますが、GitHubはGitを前提にしています。

どんなときに出てくる?

Gitが出てくる場面は、たとえば3つです。

  • WordPressのテーマやプラグインを、変更履歴つきで管理するとき
  • GitHubで公開されているコードを、手元に取り込むとき
  • Claude CodeやCodexのようなAIツールが、変更をコミットして、GitHubに送るとき

基本の流れ:編集して、記録して、送る

Gitでは、ファイルを3つの状態に分けて考えます。
Pro Gitでは、次のように説明されています。

  • 修正済み:ファイルを変更したが、まだ記録していない状態
  • ステージ済み:次の記録に含めるファイルに、印をつけた状態
  • コミット済み:変更が、自分のパソコンのデータベースに安全に保存された状態

操作の流れは、こうです。

git add ファイル名
git commit -m "変更内容のメモ"
git push

git addで、記録するファイルに印をつけます。
git commitで、変更を記録します。これがコミットです。
git pushで、記録をGitHubに送ります。

逆に、GitHubにある最新の内容を取り込むのがgit pullです。
本番サーバー(実際にブログを公開しているサーバー)など、別の場所で最新のコードを使いたいときに使います。

コミットしたら、GitHubにも反映されるの?

コミットは、自分のパソコンの中に記録するだけだよ。GitHubに送るのは、pushしたときなんだ。

自分はこう使ってます

管理する対象を、自分で変更するテーマだけに絞った

このブログでは、Gitで管理するのを、自分でカスタマイズしたテーマのフォルダだけにしています。
WordPress本体と、親テーマ、アップロードした画像、データベースは、管理の対象外です。
管理対象を絞ったので、リポジトリの中身が、自分のカスタマイズだけになりました。

自分のパソコンで編集して、本番にはpullで反映する

流れは、3つの段階です。

  1. 自分のパソコンで、テーマの編集と、ブラウザでの見た目の確認をする
  2. Claude Codeが、変更をコミットして、GitHubのプライベートリポジトリにpushする
  3. Claude Codeが、本番サーバーにSSHでつないで、git pullを実行する

自分は、各段階で、Claude Codeからの報告を読んで、何が行われたのかを確認します。
本番サーバーが、GitHubのプライベートリポジトリを読むための鍵は、読み取り専用のデプロイキーです。

Gitを使うと、何がうれしいの?

変更を戻せることだよ。CSSが崩れても、直前のコミットに戻せるんだ。

Gitでハマった例

Gitで管理できるのは、ファイルの変更だけです。記事本文や固定ページの内容は、WordPressのデータベース(記事などの保存先)に入っているので、Gitでは管理できません。
この件は、Git+GitHubで本番反映する仕組みを作った話に書いています。

もうひとつは、強制的に上書きするコマンドです。本番サーバー上で、Claude Codeがgit reset --hard(作業中の変更を、直前のコミットの状態に強制的に戻すコマンド)を使おうとして、ツール側の安全機構に止められました。こちらも同じ記事に書いています。

迷ったときの確認ポイント

  1. Gitで管理する範囲は、どこまでか。データベースの中身は、Gitの外にある
  2. コミットしただけで、GitHubに反映されたと思っていないか。GitHubに送るのは、pushしたとき
  3. 本番サーバーなど、別の場所で最新にするには、そこでgit pullが要る
  4. 変更を強制的に上書きするコマンドは、実行する前に、何が失われるかを確認する

最初は、Gitで管理したいフォルダを決めて、コミットとpushの違いを確認してください。

あわせて知っておきたい用語

リポジトリ
Gitで管理しているプロジェクトの保管場所。GitHubに置いたものは、公開しない設定(プライベート)にもできる。
デプロイキー
サーバーから、GitHubの1つのリポジトリにアクセスするためのSSH鍵。初期状態は読み取り専用。
SSH
離れたサーバーに、安全につなぐための方法。
ターミナル
文字のコマンドでMacを操作するアプリ。詳しくはこちら。

この記事が参考になったら、応援クリックをお願いします

Cat's Handこの記事を書いた人

Web制作歴10年以上。WordPressのテーマカスタマイズやコーディングを中心に、副業・本業ともにweb制作に携わっています。このブログでは、実際に手を動かして分かったことを書いています。