GitHub04

分岐とやり直しの魔法|第4回 ブランチとリセット

著者: 管理者 / 2025-08-22 (更新: 2025-08-22)

前回 言葉で操るGit|第3回 基本コマンドを学ぶ言葉で操るGit|第3回 基本コマンドを学ぶ

user01 Serious
先生、前回は「add」や「commit」で日記帳に記録していく仕組みを教えていただきましたわね。
ですが……もし別のアイデアを試したくなったときや、失敗をしてしまったときはどうすればよいのでしょう?
一度書いてしまった日記を破るのは怖いですし、どうすればよろしいのかしら? 💭
user02 Calm
とても良い気づきですね。
Gitには「ブランチ」と「リセット」という便利な仕組みがあります。
「ブランチ」は新しい枝を作って別のアイデアを試すためのもの。
「リセット」は過去に戻ってやり直すためのものです。
この2つを使いこなせば、安心して冒険できますよ。
user01 Surprised
まあ!「ブランチ」とは枝分かれのことですのね 🌲✨
つまり、ひとつの道を歩きながら、途中で別の道を伸ばして試せるようなものかしら?
user02 Happy
そのとおりです。
ブランチを作ることで、今の作業に影響を与えずに新しい挑戦ができます。
そして上手くいったら、そのブランチを元の道に合流させれば良いのです。
もし失敗しても、元の道はそのまま残っていますから安心ですね。

📝 解説:ブランチの基本

  • git branch 新しい名前
    新しい枝を作ります。
  • git checkout 新しい名前
    その枝に移動します。
  • git merge
    作業が成功したら、枝を元の道に合流させます。

例:

# 新しいブランチを作成
git branch new-idea  

# そのブランチに移動
git checkout new-idea  

# そこで自由に作業、commit  

# 元のmainブランチに戻る
git checkout main  

# 変更を合流
git merge new-idea  

user01 Happy
まあ!まるで庭園で分かれ道を歩くように、自由に行き来できるのですわね 🌷
もし失敗したブランチは、そのまま消してしまえば良いのでしょう?
user02 Calm
はい。不要になったブランチは削除できます。
ですから気軽に試すことができるのです。

さて、もうひとつ重要なのが「リセット」です。
リセットは、コミットを過去の状態に戻すための仕組みです。
失敗したときに「なかったことにする」力ですね。
user01 Serious
なるほど……!それはまるで魔法で時間を巻き戻すようなものですわね ⏳✨
どのように使うのですの?
user02 Calm
基本的にはこうです。
# 直前のコミットを取り消す
git reset --hard HEAD^  

# 特定のコミットまで戻す
git reset --hard コミットID  
user02 Calm
HEADというのは「今いる地点」のことです。
HEAD^は「ひとつ前の状態」を意味します。
ですから「HEAD^」に戻ると、ひとつ前に記録した状態まで時間が巻き戻るのです。

ただし「--hard」を使うと完全に戻るため、失われる変更もあります。
ですから使うときは慎重に。安心してやり直したい場合は「git revert」という別のコマンドを使う方法もあります。

user01 Surprised
まあまあ!
ブランチは「別の未来を試す」力、リセットは「過去に戻る」力……。
Gitはまるで時間と空間を自由に操る魔法のようですわね ✨
user02 Happy
素晴らしい理解ですね。
この仕組みがあるからこそ、開発者は大胆に挑戦できるのです。
怖がらずに試せる環境――それこそがGitの最大の魅力なのですよ。

📝 まとめ(第4回)

  • ブランチ … 枝分かれを作り、別のアイデアを試す仕組み
  • mergeで合流でき、不要なら削除できる
  • リセット … 過去のコミットに戻る仕組み。時間旅行のようにやり直せる
  • 「ブランチは未来を試す」「リセットは過去に戻る」イメージで理解すると分かりやすい

user01 Happy
まあ!これでわたくしも安心して「実験の道」を歩めそうですわ 🌸
もし失敗しても、過去に戻れますし、別の未来を試すこともできますものね!
user02 Calm
ええ、お嬢様。これでGitの力はかなり理解できました。
次回はいよいよGitHubと結びつけて、クラウド上に宝箱を置き、他の人と共有する方法を学びましょう。
シリーズの総まとめにもなりますよ。

次回 宝箱を開こう|第5回 GitHubで共有と協力宝箱を開こう|第5回 GitHubで共有と協力