【Git実践】ブランチは”もう一本の道”。壊さず試す
git ブランチ を練習したいのに、「main ブランチを壊したらどうしよう」と不安で一歩踏み出せていませんか?
この記事では、ブランチの概念を”もう一本の道”というイメージで整理したあと、安全にブランチを作って試す手順をハンズオン形式で紹介します。
—
ブランチとは——「もう一本の道」のイメージ
Gitのブランチは、「作業を分岐させる仕組み」です。
よく使われるたとえが“もう一本の道”。
- メインの道(`main` ブランチ)は、リリースできる状態のコードが並んでいる
- 新しいことを試したいときは、そこから枝分かれした道を作る(ブランチを切る)
- 新しい道でどれだけ変更しても、メインの道はそのまま残る
コードを書いてみて「やっぱり戻したい」となっても、メインのブランチは変わっていないので、いつでも元に戻れます。これがブランチで安全に試せる理由です。
—
git ブランチ の練習で安全に使う基本コマンド4つ
ブランチ操作に登場するコマンドはシンプルです。まずは4つだけ覚えましょう。
| コマンド | 役割 |
|---|---|
| `git branch` | ブランチの一覧を確認する |
| `git checkout -b |
新しいブランチを作って移動(旧来の書き方) |
| `git switch -c |
新しいブランチを作って移動(Git 2.23以降推奨) |
| `git switch main` | main ブランチに戻る |
`git checkout -b` と `git switch -c` はどちらも「ブランチを新規作成して移動する」コマンドです。Git 2.23(2019年8月リリース)以降では `git switch` が追加され、ブランチ切り替えに特化したコマンドとして公式に推奨されています。古いチュートリアルでは `git checkout -b` が多用されますが、現在ではどちらを使っても問題ありません(本記事では両方の書き方を紹介します)。
> 動作環境の確認: コマンドを試す前に `git –version` でバージョンを確認してください。`git switch` は Git 2.23未満では使えません。
—
実際にブランチを作って試す
練習用のリポジトリが手元にあることを前提に進めます。まだない場合は前回の記事(G3: git diff)のリポジトリを使うか、`git init practice-branch` で新たに作成してください。
ステップ1: 現在の状態を確認する
git branch
`* main` と表示されれば、main ブランチにいる状態です(`*`が現在のブランチを示します)。
ステップ2: 新しいブランチを作る
# 新しい書き方(Git 2.23以降推奨)
git switch -c feature-hello
# 旧来の書き方(古いGitでも動く)
git checkout -b feature-hello
どちらか一方を実行してください。`feature-hello` という名前のブランチが作成され、自動的にそのブランチに移動します。
ブランチ名にはアルファベット・数字・ハイフン・スラッシュを使うのが慣例です(日本語やスペースは避けましょう)。
ステップ3: ブランチ上で変更を加える
echo "Hello from feature branch" > hello.txt
git add hello.txt
git commit -m "Add hello.txt"
コミットできました。この変更は `feature-hello` ブランチの上だけに存在します。
ステップ4: main に戻って確認する
git switch main
戻った後に `ls` や `cat hello.txt` を実行してみてください。`hello.txt` がないか、main での状態に戻っているはずです。これが”もう一本の道”の実感です。
ステップ5: ブランチの一覧を確認する
git branch
`feature-hello` と `main` の両方が表示されます。
—
`git checkout` と `git switch` の違いをもう少し詳しく
`git checkout` は「ブランチ切り替え」以外に「ファイルの変更を取り消す」機能も持っていました。この2つの役割が混在していたため、Git 2.23で役割が分離されました。
| コマンド | ブランチ切り替え | ファイル復元 |
|---|---|---|
| `git checkout` | ○ | ○(旧来) |
| `git switch` | ○ | × |
| `git restore` | × | ○(新しい) |
ブランチ操作に集中したいなら `git switch`、古いチーム環境で古いGitを使わざるをえないなら `git checkout` を使う、という整理で十分です。
—
マージのイメージ(今はざっくりで大丈夫)
ブランチで作業が終わったら、最終的にはメインブランチに統合(マージ)します。
git switch main
git merge feature-hello
同じファイルの同じ場所を両方のブランチで編集していると「コンフリクト(競合)」が発生しますが、それは次回 G5 の記事で詳しく扱います。今は「ブランチを作る→試す→main に戻る」の流れをつかむだけで十分です。
—
Claude Code に質問してみる
Claude Code のチャット(またはターミナルで `claude`)を使って、ブランチ操作を確認できます。
プロンプト例:
私のGitリポジトリで現在のブランチを確認して、
「test-branch」という新しいブランチを作成する手順を教えてください。
実行前に何をするか説明してから、確認を取ってください。
> 注意: `git merge` や `git reset` などの取り消しが難しい操作をプロンプトに含める場合は、「実行前に必ず確認を取ってください」という一文を添えるようにしましょう。
—
まとめ
- ブランチ = “もう一本の道”。main を触らず安全に試せる
- `git switch -c
`(Git 2.23以降)または `git checkout -b ` でブランチを作成 - `git switch main` で main に戻れば、変更はブランチ上にそのまま残る
- `git branch` でブランチ一覧を確認できる
次の G5 では、マージとコンフリクト解消を実際に体験します。
—
アプリで試す
この記事の内容は、git-learning-app の「章4 ブランチ」と対応しています。
ブラウザ上でブランチ操作のシナリオをそのまま試せるので、ハンズオンの補助として活用してください。
▶ git-learning-app で「章4 ブランチ」を開く
コードを動かしながら学ぶと、テキストだけでは気づきにくい「ブランチを切ったときのHEADの動き」なども体感できます。ぜひ手を動かしてみてください。