【2025年版】GitHub超入門 #5 (CLI編) -コマンドラインで操るブランチと時空移動-

はじめに:なぜコマンドでやるの?

今回は、マウスを使わずに「ブランチ(並行世界)」の作成と、「過去へのロールバック(時空移動)」を行う方法を解説します。 (※Git 2.23以降推奨の新しいコマンド switch を使います。)

GUIで楽にやりたい方はこちら:VS Code編

githubの使い方講座2025年度版 コミットを戻すrevartと元に戻すresetの使い方の紹介記事

【2025年版】GitHub超入門 #4 -ブランチで並行世界を作る&失敗時のタイムマシーン(Rollback)-

【2025年版】GitHub超入門 #4 -ブランチとロールバック- 「コードが動かなくなった!」そんな時、特定の過去の状態まで戻す(ロールバック)方法を解説。また、メインのコードを壊さずに実験できる「ブランチ」の概念と、VS Codeでの簡単な操作方法(Reset/Revert)を紹介します。

【PART 1】ブランチ操作:並行世界を作る

メインのコード(main)を汚さずに実験するために、ブランチを使います。

1. 今いる場所とブランチを確認

git branch

2. ブランチを作って移動する (switch)

一昔前は checkout でしたが、今は switch を使います。「作成」と「移動」を同時に行うコマンドです。

# git switch -c [新しいブランチ名]
git switch -c feature-test
  • -c は create(作成)の意味。これで feature-test という世界に移動しました。

3. 変更を加えてコミットする

適当にファイルを編集して、いつも通りコミットします。

git add .
git commit -m "実験用の変更"

これで、feature-test ブランチだけが進み、main は元のままです。

4. mainに戻って統合(マージ)する

実験が成功したとして、main に取り込みます。

# まずmainに戻る
git switch main

# feature-testの内容を取り込む
git merge feature-test

これで実験内容がメインの世界に統合されました。


【PART 2】歴史を見る:ログの確認

GUIがない場合、「今どうなっているか」を知るための地図が必要です。 辞書登録(エイリアス登録)したくなるほど便利なコマンドです。

git log --oneline --graph --all
  • --oneline: 1行でスッキリ表示
  • --graph: 樹形図(線)で分岐を表示
  • --all: 全部のブランチを表示

出力例:

* a1b2c3d (HEAD -> main) merge feature-test
|\
| * e5f6g7h 実験用の変更
|/
* i8j9k0l 初回のコミット

左側の英数字(a1b2c3dなど)がコミットID(ハッシュ)です。これをメモして次の操作に使います。


【PART 3】ロールバック:時を戻す・打ち消す

「動かなくなった!戻したい!」という緊急事態の対処法です。

パターンA:自分だけの作業なので、完全に時間を巻き戻したい (Reset)

「失敗した未来」をなかったことにして、過去の状態に強制移動します。

# git reset --hard [戻りたい場所のコミットID]
git reset --hard i8j9k0l
  • 注意: 戻った地点より未来の変更はすべて消滅します。チーム開発のリモートブランチには絶対に使わないでください。

パターンB:チーム開発中なので、履歴を残して修正したい (Revert)

「失敗した」という事実を歴史に残しつつ、逆の変更を行って帳消しにします。

# git revert [打ち消したいコミットID]
git revert e5f6g7h
  • 実行するとエディタが開くので、そのまま保存して閉じれば「打ち消しコミット」が作成されます。安全です。

まとめ

  • ブランチの移動は git switch
  • 歴史の確認は git log --oneline --graph --all
  • やり直しは reset --hard(破壊的)か revert(安全的)。

ここまでできれば、「Git使い」を名乗ってもいいと思います。