【世界一わかりやすいGit/GitHub入門③】基本ワークフロー
投稿更新日: 2025/12/27

- まずは、入門②宿題の回答編から
【入門②】宿題
所要時間:5〜10分
- 1.直下に
docs/を作り、docs/notes.mdに1〜3行のメモを作成 - 2.変更をコミット
- 3.ログで確認
【入門②】宿題の答え合わせ
- ✅
docs/notes.mdが存在 - ✅ コミットが2件以上(初期コミット+
docs追加) - ✅ ログに直近コミットが見える
チェック手順(そのまま実行OK)
# 1. ファイルの存在確認 ls docs && cat docs/notes.md # 2. 直近のコミットを1行表示 git log --oneline -n 5
もし notes.md をまだ作っていなければ:
mkdir -p docs echo "- 初めての学習メモ" > docs/notes.md git add docs/notes.md git commit -m "docs: add initial notes" git log --oneline -n 5
スナップショット思考で理解する add/commit/log/diff
- キモは「作業ツリー(いまのファイル) → ステージ(次のスナップショット候補) → コミット(確定したスナップショット)」という三層モデル。
- git add は“撮る写真に写すものを選ぶ”、git commit は“シャッターを切る”。
Step 1. 変更を作る(題材は既存リポジトリ)
# 例1: README に目的の1行を追記 echo "" >> README.md echo "This repo is for practicing Git basics." >> README.md # 例2: docs/notes.md に今日のメモを1行追加 echo "- 今日は add/commit/log/diff を学んだ" >> docs/notes.md
Step 2. 変更の状況を見る(Working Tree を可視化)
git status # 変更ファイルの一覧 git diff # まだステージしてない差分を見る
Step 3. ステージに載せる(次のスナップショット候補)
# 粒度をコントロールして載せる git add README.md git add docs/notes.md # または 変更全部をまとめて # git add -A
差分を見直してから撮る(おすすめ)
git diff --staged
コミット前の最終確認。意図しない変更が混ざっていないかチェック。
Step 4. コミット(シャッターを切る)
git commit -m "docs: update notes and README with learning goals"
メッセージのコツ(簡易版)
- 目的を命令形で:「Add」「Update」「Fix」など
- 何を・なぜ(任意で)
- 慣れてきたら Conventional Commits 風に
feat: .../ fix: .../ docs: ...
Step 5. ログでスナップショットを眺める
git log --oneline --graph --decorate -n 10
--oneline:短く一覧--graph:ブランチの枝分かれをASCIIで可視化--decorate:ブランチ名やタグを表示
Step 6. 差分をコミット間で比較する(復習に最適)
# 直近2コミットを比較 git diff HEAD~1 HEAD # ファイル単位で git diff HEAD~1 HEAD -- README.md
ミニFAQ(つまずきポイント)
git add .で不要ファイルまで載った →.gitignoreに書いてからgit restore --staged <ファイル>でステージから降ろす。- コミットに混ぜたくない変更がある →
git add -p(対話モード)で差分ハンク単位に選別。 - メッセージを後から直したい → 直後なら
git commit --amend(※公開後の履歴を書き換えるのはNG)。
今日のゴール(できていればOK)
git diff/git diff --stagedの違いが説明できる- 意図した粒度で
git add→git commitができた git logで履歴を1行表示・グラフ表示できた
宿題(次回の答え合わせで使います)
テーマ:変更→コミットを3回繰り返す
所要時間:10〜15分 以下を3セット繰り返してください。1セット=(小さな変更 → 確認 → ステージ → コミット)。
セット例(そのまま使える題材)
セット1:README整備
echo "- 学習項目: add/commit/log/diff" >> README.md git status git add README.md git commit -m "docs: list today's learning items in README"
セット2:学習メモ追加
echo "- コミットの粒度は小さく保つ" >> docs/notes.md git diff git add docs/notes.md git commit -m "docs: append note about small commits"
セット3:サンプルコード(任意言語)
mkdir -p src echo 'print("hello git")' > src/hello.py git status git add src/hello.py git commit -m "chore: add simple hello script"
確認(3回できたか?)
git log --oneline -n 5
- 期待値: 直近に3件の新しいコミットが並ぶ
成果物
- コミットが合計で最低4件以上(初期コミット+前回のdocs追加+今回3件)
次回予告(④へ続く)
- 第4回はブランチ超入門。
git branch/git switch/git merge- コンフリクトが起きる“安全な”練習法
- 「mainを汚さずに並行作業する型」を体得します。
付録:今日のチートシート
# 変更状況の確認 git status git diff # 作業ツリー ↔ ステージ git diff --staged # ステージ ↔ 次コミット # ステージング git add <path> # 粒度を意識 git add -p # 差分を対話選択 # コミット git commit -m "<目的: 何をしたか>" git commit --amend # 直後の修正(未公開前提) # 履歴閲覧 git log --oneline --graph --decorate -n 10 # コミット間の差分 git diff HEAD~1 HEAD git diff <old> <new> -- <file>
この記事をシェアする
合同会社raisexでは一緒に働く仲間を募集中です。
ご興味のある方は以下の採用情報をご確認ください。