Git使い方完全ガイド|コマンド一覧・インストールからpush/pullまでバイブコーディング時代の必須知識を徹底解説
「Gitって難しそう」「一度挫折した」「pushとpullの違いが毎回わからなくなる」——そういった経験を持つ開発者は少なくありません。
筆者自身も、SSDが壊れ、XAMPPの環境が壊れ、Gitも一度は途中で諦めた経緯があります。しかし現在は、Claude CodeやVS Codeを使ったバイブコーディング(AIと対話しながらコーディングする開発スタイル)の普及により、Gitの操作をAIに一言頼むだけで完結できる場面が増え、以前より格段にGitを活用しやすくなりました。
本記事では、Gitのインストール手順から基本コマンド、push/pull/clone/branchなどの実践的な使い方、そしてすぐに参照できるコマンド一覧表まで、開発現場での実体験をもとに解説します。
Gitとは何か——ソースコード管理が必要な理由
Git(ギット)とは、ソースコードの変更履歴を管理するための分散型バージョン管理システムです。2005年にLinuxカーネルの開発者Linus Torvalds氏によって開発されました(Git公式サイト)。
Gitを使うことで、以下のことが実現できます。
- ファイルの変更履歴をすべて記録し、過去の状態に戻せる
- 複数のPC間でソースコードを同期・共有できる
- 複数人での並行開発を管理できる
- 実験的な変更を本体に影響させずに試せる(ブランチ機能)
- 誰がいつ何を変更したか追跡できる
「SSDにXAMPP環境ごと入れて持ち歩く」という方法は、物理的な故障・紛失・環境の不整合リスクを常に抱えています。Gitとリモートリポジトリ(GitHubなど)を組み合わせることで、これらのリスクをほぼゼロにすることができます。
GitとGitHubの違い——混同しやすい二つの概念
Gitの学習で最初に混乱しやすいのが「GitとGitHubの違い」です。
Gitはローカル(自分のPC)で動作するバージョン管理ツールそのものです。一方、GitHub(GitHub公式)はGitのリポジトリをインターネット上で管理・共有するためのホスティングサービスです。
簡単に言えば、Gitが「管理の仕組み」、GitHubが「管理場所のクラウドサービス」です。他にも類似サービスとしてGitLab・Bitbucketなどがありますが、個人開発・オープンソースでは現在GitHubが最も広く使われています。
本記事では主にGitコマンドの解説を行い、リモートリポジトリの例としてGitHubを前提として説明します。
Gitのインストール手順——Windows・Mac別に解説
Windowsへのインストール
Windows環境へのインストールは、Git公式サイトのインストーラーを使うのが最も確実です。
- Git公式サイト(https://git-scm.com/download/win)にアクセスします
- 「64-bit Git for Windows Setup」をダウンロードします
- インストーラーを起動し、基本的にはデフォルト設定のまま「Next」を進めます
- 「Adjusting your PATH environment」では「Git from the command line and also from 3rd-party software」を選択します
- インストール完了後、コマンドプロンプトまたはGit Bashで
git --versionを実行して確認します
VS Codeを使用している場合は、インストール後にVS CodeのターミナルからもGitコマンドが使用可能になります。
Macへのインストール
- ターミナルを開き、
git --versionを実行します。未インストールの場合はインストールダイアログが表示されます - またはHomebrewを使って
brew install gitでインストールできます - Homebrewが未インストールの場合は Homebrew公式サイト の手順に従ってインストールします
初期設定——最初に必ず行うこと
インストール後、最初にユーザー名とメールアドレスを設定します。この情報はコミット履歴に記録されます。
git config --global user.name "Your Name"git config --global user.email "your@email.com"- 設定確認:
git config --list
Gitの基本的な概念——リポジトリ・コミット・ブランチ
コマンドを覚える前に、Gitの基本概念を整理しておきます。この理解があるかないかで、コマンドの意味の腑に落ち方が大きく変わります。
リポジトリ(Repository)
ファイルの変更履歴を記録する「倉庫」です。ローカルリポジトリ(自分のPC上)とリモートリポジトリ(GitHubなどのサーバー上)の二種類があります。
コミット(Commit)
変更内容をリポジトリに記録する操作です。「セーブポイント」に相当します。コミットには必ずメッセージ(何を変更したかの説明)を添付します。
ブランチ(Branch)
開発の「分岐」です。メインの開発ライン(mainブランチ)に影響を与えず、新機能の開発やバグ修正を別の流れで進めることができます。作業完了後にmainブランチへマージ(統合)します。
ステージングエリア(Staging Area)
コミット前の「準備エリア」です。変更したファイルのうち、次のコミットに含めたいものをステージングエリアに追加(git add)してからコミットします。
Gitコマンド一覧表——用途別に整理
以下に、開発現場でよく使うGitコマンドを用途別に整理しました。「どういうときに使うか」を軸に記載しています。
【初期設定・リポジトリ作成】
| コマンド | 用途 | 使い方の例 |
|---|---|---|
git init |
新しいローカルリポジトリを作成する | プロジェクトフォルダ内で実行 |
git clone [URL] |
リモートリポジトリをローカルにコピーする | git clone https://github.com/user/repo.git |
git config --global user.name "名前" |
ユーザー名を設定する | 初回インストール時に必須 |
git config --global user.email "メール" |
メールアドレスを設定する | 初回インストール時に必須 |
git config --list |
現在の設定を確認する | 設定確認時に使用 |
【変更の記録——add・commit】
| コマンド | 用途 | 使い方の例 |
|---|---|---|
git status |
現在の変更状態を確認する | 作業前後に随時確認 |
git add [ファイル名] |
指定ファイルをステージングエリアに追加する | git add index.php |
git add . |
変更されたすべてのファイルを追加する | 全変更をまとめてコミットしたいとき |
git commit -m "メッセージ" |
ステージングされた変更をコミットする | git commit -m "ログイン機能を追加" |
git commit -am "メッセージ" |
addとcommitを同時に行う(新規ファイル以外) | 既存ファイルの変更のみの場合に便利 |
git diff |
ステージング前の変更内容を確認する | 何を変更したか確認したいとき |
git diff --staged |
ステージング済みの変更内容を確認する | コミット前の内容確認 |
【リモートとの同期——push・pull・fetch】
| コマンド | 用途 | 使い方の例 |
|---|---|---|
git push origin [ブランチ名] |
ローカルの変更をリモートに送信する | git push origin main |
git push -u origin main |
初回push時にリモートブランチを紐付ける | 新しいブランチを初めてpushするとき |
git pull origin [ブランチ名] |
リモートの変更をローカルに取得して統合する | git pull origin main |
git fetch |
リモートの変更情報を取得する(統合はしない) | 内容を確認してからpullしたいとき |
git remote -v |
リモートリポジトリのURLを確認する | 接続先確認時 |
git remote add origin [URL] |
リモートリポジトリを登録する | git init後にGitHubと紐付けるとき |
【ブランチ操作——branch・checkout・merge】
| コマンド | 用途 | 使い方の例 |
|---|---|---|
git branch |
ブランチの一覧を表示する | 現在のブランチ確認 |
git branch [ブランチ名] |
新しいブランチを作成する | git branch feature/login |
git checkout [ブランチ名] |
ブランチを切り替える | git checkout feature/login |
git checkout -b [ブランチ名] |
ブランチを作成して切り替える(作成と移動を同時) | git checkout -b feature/login |
git switch [ブランチ名] |
ブランチを切り替える(checkoutの新しい書き方) | git switch main |
git switch -c [ブランチ名] |
ブランチを作成して切り替える(switchの新しい書き方) | git switch -c feature/login |
git merge [ブランチ名] |
指定ブランチを現在のブランチに統合する | mainブランチで git merge feature/login |
git branch -d [ブランチ名] |
ブランチを削除する(統合済みのみ) | git branch -d feature/login |
git branch -D [ブランチ名] |
ブランチを強制削除する | 未統合でも削除したいとき |
【履歴確認——log・show】
| コマンド | 用途 | 使い方の例 |
|---|---|---|
git log |
コミット履歴を表示する | 変更の流れを確認したいとき |
git log --oneline |
コミット履歴を1行ずつ簡潔に表示する | 履歴を素早く一覧したいとき |
git log --oneline --graph |
ブランチの分岐をグラフ表示する | ブランチの構造を視覚的に確認 |
git show [コミットID] |
指定コミットの変更内容を表示する | 特定の変更内容を詳しく確認 |
【取り消し・修正——restore・reset・revert】
| コマンド | 用途 | 注意点 |
|---|---|---|
git restore [ファイル名] |
ワーキングディレクトリの変更を取り消す | コミット前の変更が消える(復元不可) |
git restore --staged [ファイル名] |
ステージングを取り消す(変更は残る) | addを取り消したいとき |
git reset --soft HEAD~1 |
直前のコミットを取り消す(変更はステージに残る) | コミットのやり直しに使用 |
git reset --mixed HEAD~1 |
直前のコミットを取り消す(変更はワーキングに残る) | デフォルトのreset動作 |
git reset --hard HEAD~1 |
直前のコミットと変更をすべて取り消す | 変更が完全に消えるため慎重に使用 |
git revert [コミットID] |
指定コミットを打ち消す新しいコミットを作る | リモートへ公開済みのコミット修正に推奨 |
git commit --amend |
直前のコミットメッセージを修正する | push前のみ推奨 |
【一時保存——stash】
| コマンド | 用途 | 使い方の例 |
|---|---|---|
git stash |
現在の変更を一時的に退避する | 急いでブランチを切り替えたいとき |
git stash list |
退避中のスタッシュ一覧を表示する | 退避内容を確認したいとき |
git stash pop |
最新のスタッシュを復元して削除する | 退避した変更を戻したいとき |
git stash apply |
最新のスタッシュを復元する(削除しない) | 複数箇所に同じ変更を適用したいとき |
git stash drop |
最新のスタッシュを削除する | 不要な退避内容を削除したいとき |
【.gitignore——管理対象外ファイルの指定】
プロジェクトルートに .gitignore ファイルを作成し、Gitで管理したくないファイルやフォルダを指定します。XAMPPのローカル開発環境でよく除外するものの例を以下に示します。
/vendor/——Composerの依存パッケージ.env——APIキーやDB接続情報などの秘匿情報node_modules/——npm/yarnの依存パッケージ*.log——ログファイルThumbs.db、.DS_Store——OSが自動生成するファイル
日常的な開発フロー——push/pullの実践手順
バイブコーディング(AIと対話しながら進める開発)の文脈で、会社と自宅のデスクトップPC間でソースコードを同期する実際の流れを解説します。
初回のみ——リポジトリのセットアップ
- GitHubで新しいリポジトリを作成します(無料アカウントで可能)
- ローカルのプロジェクトフォルダで
git initを実行します git remote add origin https://github.com/ユーザー名/リポジトリ名.gitでリモートを登録しますgit add .→git commit -m "初回コミット"→git push -u origin mainで最初のpushを行います
自宅PC(または2台目のPC)での初回セットアップ
- 任意のフォルダで
git clone https://github.com/ユーザー名/リポジトリ名.gitを実行します - これだけで最新のコードがローカルに複製されます
毎日の作業フロー——会社・自宅の切り替え時
- 【作業開始時】
git pull origin main——リモートの最新変更を取得します - 【作業中】コードを編集します
- 【作業終了時】
git add .→git commit -m "作業内容の説明"→git push origin main——変更をリモートに送信します - 【翌日・別PCでの再開】
git pull origin main——続きから作業できます
Claude Codeを使っている場合は、「Gitにプッシュして」「Gitからプルして」と一言伝えるだけで上記の操作を代行してくれます。コマンドを完全に記憶していなくても、AIに任せながら徐々に覚えていくことが可能です(Claude Code 公式情報 ※リンク要確認)。
XAMPP環境でGitを使う場合の注意点
XAMPPを使ったローカルWeb開発でGitを使う場合、いくつかの点に注意が必要です。
htdocsのソースコードのみをGitで管理する
XAMPPの環境ごとをGitで管理しようとすると、容量が膨大になり実用的ではありません。C:\xampp\htdocs\プロジェクト名\ など、ソースコードのみが入ったプロジェクトフォルダだけをリポジトリとして管理することを推奨します。
データベースはGitとは別に管理する
MySQLのデータはバイナリファイルのためGitには向きません。テーブル構造の変更はSQLのマイグレーションファイル(.sqlファイル)としてリポジトリに含め、データそのものはdumpファイルで別途バックアップする運用が一般的です。
Laravelなどのフレームワークを使う場合は、マイグレーション機能を使うことでデータベース構造の変更もGitで管理できます(Laravel マイグレーション ※リンク要確認)。
.envファイルは必ず.gitignoreに追加する
データベースの接続情報やAPIキーが書かれた .env ファイルは、絶対にGitにコミットしてはいけません。.gitignore に .env を追加し、代わりに .env.example(サンプルファイル)をコミットする運用を徹底してください。
VS CodeでGitをGUIで操作する方法
コマンドに慣れていない段階では、VS CodeのGUI機能を活用する方法もあります。
- VS Codeの左サイドバーの「ソース管理」アイコン(または
Ctrl+Shift+G)をクリックします - 変更されたファイルが一覧表示されます
- ファイル名横の「+」ボタンで
git add(ステージング)を行います - 上部のテキストボックスにコミットメッセージを入力し、チェックマークでコミットします
- 「…」メニューから push/pull も実行できます
また、「GitLens」などの拡張機能を追加すると、コミット履歴や差分をより見やすく確認できます(VS Code Marketplace – GitLens ※リンク要確認)。
よくあるエラーと対処法
「Please tell me who you are.」というエラー
初回コミット時にユーザー名・メールアドレスが未設定の場合に表示されます。git config --global user.name と git config --global user.email を設定してください。
「rejected — non-fast-forward」というpushエラー
リモートに自分のローカルにない変更がある状態でpushしようとした場合に発生します。まず git pull origin main でリモートの変更を取り込んでからpushしてください。
「CONFLICT」というマージエラー
同じファイルの同じ箇所を別々に変更した場合に発生するコンフリクト(競合)です。該当ファイルを開くと <<<<<<<、=======、>>>>>>> で区切られた競合箇所が表示されます。どちらの変更を採用するか手動で編集し、git add → git commit で解決します。VS Codeでは「マージエディター」を使って視覚的に解決できます。
「detached HEAD」状態になった
特定のコミットIDにcheckoutした場合などに発生します。git switch main(または git checkout main)で通常のブランチに戻れます。
よくある質問(FAQ)
Q. GitとGitHubはどちらも必要ですか?
A. 1台のPCのみで使う場合はGitだけでも使えます。ただし複数PC間での同期・バックアップ・チーム開発を行う場合はGitHubなどのリモートリポジトリが必要です。個人開発でも無料で使えるGitHubの利用を強く推奨します。
Q. pushとpullの違いが毎回わからなくなります
A. pushは「ローカル→リモートへ送る」、pullは「リモート→ローカルへ取り込む」です。作業終了時にpush、作業開始時にpullと覚えると実務上の混乱が減ります。
Q. コミットメッセージはどう書けばいいですか?
A. 「何をしたか」を端的に書くのが基本です。例:「ログイン機能を追加」「商品一覧ページのバグを修正」「ヘッダーデザインを変更」。英語でも日本語でも構いません。チームで開発する場合は規約に従ってください。
Q. .gitignoreを後から追加した場合、すでにコミット済みのファイルはどうなりますか?
A. 一度コミットしたファイルは.gitignoreを追加しても追跡が続きます。追跡を止めるには git rm --cached [ファイル名] でキャッシュから削除してからコミットしてください。
Q. Claude CodeやVS CodeのAI機能でGitは自動化できますか?
A. Claude Codeでは「Gitにpushして」「最新をpullして」などの自然言語指示でGit操作を実行できます。VS Codeでも拡張機能や組み込みのソース管理UIでGUIベースの操作が可能です。コマンドを覚えながら並行してAIやGUIも活用するのが現実的な習得方法です。
Q. XAMPPのデータベースをGitで管理する方法はありますか?
A. データそのものをGitで管理することは推奨されません。テーブル構造の変更をSQLファイルとしてリポジトリに含め、git pull後にそのSQLを実行する運用が一般的です。Laravelなどのフレームワークを使う場合はマイグレーション機能の活用を検討してください。
ソースコード管理の煩わしさから解放されることで、開発そのものに集中できる時間が増えます。Gitは最初の数回が最も難しく感じますが、push/pullの流れを体で覚えてしまえば、日々の開発で迷うことはほとんどなくなります。本記事のコマンド一覧表をブックマークし、迷ったときの参照用としてご活用ください。
Git環境の構築やVS Code・Claude Codeとの連携についてご不明な点があれば、お気軽にお問い合わせください。

