Git入門|init・add・commit・pushの使い方を初心者向けに図解で解説
目次
なぜGitが必要なのか
プログラミングを始めて少し経つと、「昨日まで動いていたのに突然動かなくなった」「修正前のコードに戻したい」という状況に必ず遭遇します。
Gitはコードの変更履歴を記録・管理するツールです。Gitを使うと、過去の任意の状態にいつでも戻れるようになります。また、GitHubというサービスと組み合わせることで、クラウド上にコードをバックアップし、他の人と共同開発することも可能になります。
Gitのインストールと初期設定
インストール確認
ターミナル(Mac)またはコマンドプロンプト(Windows)で以下を実行し、バージョンが表示されればインストール済みです。
git --version
# 例: git version 2.43.0
インストールされていない場合は git-scm.com からダウンロードします。
初期設定(必須)
Gitを使う前に、コミット(変更の記録)に紐づく名前とメールアドレスを設定します。これは一度だけ行えば大丈夫です。
git config --global user.name "あなたの名前"
git config --global user.email "your-email@example.com"
設定が正しく保存されたか確認するには次のコマンドを使います。
git config --list
Gitの3つの領域を理解する
Gitには以下の3つの領域があります。この概念を理解することが、Gitを使いこなすための最初の関門です。
[作業ディレクトリ] → (git add) → [ステージングエリア] → (git commit) → [ローカルリポジトリ]
↓ (git push)
[リモートリポジトリ (GitHub)]
| 領域 | 説明 |
|---|---|
| 作業ディレクトリ | 実際にファイルを編集する場所 |
| ステージングエリア | 「次のコミットに含める」とマークしたファイルの一時置き場 |
| ローカルリポジトリ | コミットが積み重なった履歴の保管場所(自分のPC内) |
| リモートリポジトリ | GitHub上にある、クラウドの履歴保管場所 |
基本コマンドの流れ
1. git init:リポジトリの作成
プロジェクトフォルダに移動し、Gitの管理を開始します。
mkdir my-project
cd my-project
git init
# Initialized empty Git repository in /path/to/my-project/.git/
.git という隠しフォルダが作成され、ここに全ての履歴が保存されます。
2. git add:ステージングエリアへの追加
変更したファイルをコミット対象として登録します。
# 特定のファイルをステージング
git add index.html
# 変更した全ファイルをステージング
git add .
3. git commit:変更の記録
ステージングエリアの内容を履歴として保存します。-m オプションでコミットメッセージを記述します。
git commit -m "ナビゲーションバーを追加"
コミットメッセージのコツ: 「何をしたか」を簡潔に書きます。「修正した」「変更した」ではなく、「ログイン画面のバリデーションを修正」のように具体的に書くと後から見返しやすくなります。
4. git status と git log:状態確認
# 現在の状態を確認(変更ファイルの一覧など)
git status
# コミット履歴を確認
git log --oneline
# 例:
# a3f2d1c ナビゲーションバーを追加
# 9e8b4f2 初回コミット
GitHubとの連携
リモートリポジトリの設定
GitHubでリポジトリを作成した後、ローカルのリポジトリと紐づけます。
git remote add origin https://github.com/username/my-project.git
git push:GitHubにアップロード
# 初回のpush(-u でデフォルトのリモートを設定)
git push -u origin main
# 2回目以降
git push
git pull:GitHubから最新を取得
他の端末で作業した場合やチーム開発では、最新のコードを手元に取り込みます。
git pull
間違えたときの戻し方
コミット前のファイルを元に戻す
# ステージングを取り消す(ファイルの内容は変わらない)
git restore --staged index.html
# 編集自体を取り消す(注意:変更内容が消える)
git restore index.html
直前のコミットを取り消す(pushする前)
# コミットを取り消してステージングに戻す(ファイルの内容は保持)
git reset --soft HEAD~1
# コミットと変更を両方取り消す(注意:変更内容が消える)
git reset --hard HEAD~1
既にpushしたコミットを打ち消す
チームで共有しているリポジトリでは reset は使わず、revert で「打ち消すコミット」を新しく作ります。
# 直前のコミットを安全に打ち消す
git revert HEAD
参考書籍
Gitの概念をビジュアルでしっかり理解したい方には、以下の書籍がおすすめです。
※ アフィリエイトリンクを含みます
まとめ
Gitの基本フローは init → add → commit → push の4ステップです。最初は3つの領域(作業ディレクトリ、ステージング、リポジトリ)の概念が難しく感じますが、実際に手を動かしていくうちに自然と身につきます。まずは自分のプロジェクトで毎日コミットする習慣をつけることから始めてみましょう。