tomy634.com // ブログ

Git入門:たった3コマンドで「変更を記録→戻せる」ようになる【2025年版】

公開日: 2025-11-18 / 更新日: 2025-11-18 入門Git実務ですぐ使える
この記事のゴール
覚えるのは git init / git add / git commit3コマンド
さらに「やばい、間違えた!」のときの戻し方(git restore / git reset / git reflog)まで最短で身につけます。

なぜ3コマンドだけでいいの?

Gitは多機能ですが、日常の99%は「フォルダをGit化して」「変更をステージに載せ」「履歴として確定する」だけです。
つまり init → add → commit の3ステップ。push/pull/branchは後からでOK。最初は 正しく記録→戻せる を最優先にしましょう。

準備(最初の1回だけ)

# Gitのユーザー名とメールを設定(コミット作者として残ります)
git config --global user.name  "Your Name"
git config --global user.email "you@example.com"

# 表示を少し優しく
git config --global init.defaultBranch main
git config --global color.ui auto
git config --global pull.rebase false

最小のメンタルモデル

[作業ツリー] --(add)--> [ステージ] --(commit)--> [履歴(HEAD)]
   編集中             提出物ボックス          確定(巻き戻し可能)

3ステップで初コミット

1) フォルダをGit化する

mkdir hello-git && cd hello-git
git init
echo "<h1>Hello Git</h1>" > index.html

これで、.git フォルダができ、プロジェクトが「記録可能」になりました。

2) 変更をステージに載せる

git add index.html
# まとめて載せるなら
git add -A     # or git add .

「この変更をコミット候補に入れる」という意思表示。git status で現在の状態を確認できます。

3) 履歴として確定する

git commit -m "初めてのコミット: index.htmlを追加"

これで 戻せる履歴 が1つできました。git log --oneline で確認してみましょう。

日常のワークフロー(最短版)

# ファイルを編集 → 変更を確認
git status

# 変更済みをステージへ
git add -A

# メッセージを付けて確定
git commit -m "〜を修正/追加/削除"

この3行が“日常”。ブランチやpushを使い始めても、核はずっと同じです。

(任意)GitHubに置く最短手順

タイトルは「3コマンド」ですが、公開したい人向けに最短のpushも載せます。

# GitHubで空リポジトリを作成(例: yourname/hello-git)
git branch -M main
git remote add origin https://github.com/yourname/hello-git.git
git push -u origin main

-u により次回から git push だけでOKになります。

間違えた時の“戻し方”クイックリファレンス

怖いのは「知らない」こと。戻し方を知っていれば、安心して編集できます。

ケースA:ステージに載せすぎた

# ステージから外して編集に戻す
git restore --staged path/to/file

# すべて外す
git restore --staged .

ケースB:編集内容を捨てたい(未コミット)

# 作業ツリーの変更を捨てる(最新版に戻す)
git restore path/to/file

# 全部捨てる(未保存の編集は消えます)
git restore .

ケースC:直前のコミットをやり直したい

# メッセージやファイルを上書き(まだpushしていない前提)
# 1) 直す → 2) add → 3) amend
git add -A
git commit --amend -m "コミットを修正"

ケースD:1つ前の状態に戻したい(履歴を動かす)

# 作業ツリー&ステージも含めて完全に戻す(破壊的・未push前提)
git reset --hard HEAD^
# もう一段戻すなら HEAD^^ (^ は1つ前)

ケースE:やらかした!けど履歴を救出したい

# ほぼ最後の砦。移動履歴(reflog)からコミットを発見して戻る
git reflog
# 出てきたハッシュ(例 abc1234)へ戻す
git reset --hard abc1234

reflogはローカルの移動履歴。push済みのものはリモートの事情も絡むので注意。

ステージを“使いこなす”(部分コミット)

ステージは「どの変更をコミットに含めるか」を選ぶ場所。ファイル単位だけでなく、行単位でも選べます。

# 対話的に、差分のhunkごとに add する
git add -p

# Vimなどで差分を開いてステージ編集(上級者)
git add -e

雑に全部コミットし続けると、後で履歴を読めません。論理的な単位で小さく積むのがコツ。

履歴を“読む力”をつける(diffとlog)

# 直近の変更を読む
git log --oneline --graph --decorate -n 10
git show HEAD                # 最新コミットの内容
git diff                     # 未ステージの差分
git diff --staged            # ステージ済みの差分

(+α)ブランチはこの2つだけ

最初に覚えるなら switch -cmerge だけで十分。

# ブランチを作って切り替え(新機能を隔離)
git switch -c feature/cool

# 変更をコミットしたら main に取り込む(fast-forward想定)
git switch main
git merge feature/cool
# 使い終えたら消す
git branch -d feature/cool

.gitignore の最小例

# OS / エディタ
.DS_Store
Thumbs.db
.vscode/

# 依存物(例:node)
node_modules/
dist/
.env

最初に置いておくと、ゴミが履歴に混ざりません。

FAQ:つまずきに即答

Q. どのタイミングでコミットすればいい?

「意味のある最小単位」。同じファイルでも機能A/Bは分けてコミットすると、後で戻しやすくなります。

Q. メッセージは日本語でもいい?

OK。チーム文化に合わせるのが大事。先頭に fix: / feat: などのプレフィックスを付けると検索性が上がります。

Q. push 後にミスに気づいた!

公開履歴を書き換えるのは慎重に。新コミットで修正するのが基本。どうしても消すならチーム同意の上 git revert を使いましょう。

チートシート(保存推奨)

# 3コマンド
git init
git add -A
git commit -m "msg"

# よく使う確認
git status
git log --oneline
git diff / git diff --staged

# 戻す系
git restore --staged .
git restore .
git commit --amend
git reset --hard HEAD^
git reflog

まとめ
まずは init → add → commit の3手だけ。
戻し方(restore/reset/reflog)を“おまもり”として覚えれば、怖くありません。慣れてきたら push / branch を追加しましょう。
関連: 1時間で作る“超軽量”個人サイト / 文字数カウンター / パスワード生成
テスト用の受信が必要なら、広告ゼロの一時メール tomy634.com が手早いです。