0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Git初心者が混乱しがちな「ブランチ」と「ワークツリー」を一発で理解する

Posted at

Git を使っていると、こんな疑問にぶつかりませんか?

  • ブランチって結局何?
  • 「別のワークツリーにあります」ってエラーが出たけど意味がわからない
  • ブランチとワークツリーは同じもの?

この記事では、Git 初心者が最初につまずきやすい「ブランチ」と「ワークツリー」の違いを、
専門用語を極力使わず、実務イメージで解説します。


まず結論:ブランチとワークツリーは別物

最初に結論です。

用語 役割
ブランチ 「どの履歴(コミット)を指しているか」という目印
ワークツリー そのブランチを実際のファイルとして展開しているフォルダ

つまり、

  • ブランチ=概念・参照
  • ワークツリー=物理的な作業フォルダ

です。


ブランチとは何か(超シンプルに)

ブランチはよく「作業の分岐」と説明されますが、初心者には少し抽象的です。

もっと単純に言うと、

ブランチとは「今どのコミットを見ているか」を示すラベル

です。

  • main ブランチ
  • feature/login ブランチ
  • hotfix ブランチ

これらはすべて
「このブランチは、このコミットを指していますよ」
という**ポインタ(参照)**にすぎません。

👉 ブランチ自体にはファイルは入っていません。


ワークツリーとは何か

ワークツリーは、

Git の履歴を、実際のファイルとして展開している作業用フォルダ

です。

あなたが普段触っているこの状態👇

  • VSCode でファイルを編集する
  • git status を打つ
  • npm run dev を実行する

これはすべて ワークツリー上での作業です。

重要ポイント

ワークツリーがある = フォルダが物理的に存在する


普通の Git 利用ではどうなっている?

通常の Git 利用では、こうなっています。

my-project/
├─ .git/
├─ src/
├─ package.json
  • このフォルダが 1つのワークツリー
  • git checkout main
  • git checkout feature/a

と切り替えるたびに、
同じフォルダの中身が書き換わるだけです。

初心者のうちは、この形しか見ないので
「ブランチ=フォルダ」だと誤解しがちです。


git worktree を使うと何が変わる?

git worktree を使うと、こうなります。

my-project/          ← main ブランチのワークツリー
my-project-feature/ ← feature ブランチのワークツリー

ポイントは:

  • 1つの Git リポジトリ(.git)
  • 複数のワークツリー(別フォルダ)
  • それぞれが別ブランチを同時に使う

という構造です。


「別のワークツリーにあります」エラーの正体

このエラーはこういう意味です。

「そのブランチは、すでに別フォルダのワークツリーで使われています」

Git は基本的に、

  • 1ブランチ=1ワークツリー

というルールを守ります。

なぜなら、

  • 同じブランチを
  • 複数フォルダで
  • 同時に編集

すると、履歴が壊れやすいからです。


状況確認コマンド(必須)

今どのブランチが、どのフォルダで使われているかは、これで確認できます。

git worktree list

出力例:

/path/to/my-project           [main]
/path/to/my-project-feature   [feature/login]

初心者が覚えるべき整理フレーズ

混乱したら、この一文を思い出してください。

ブランチは履歴の目印、ワークツリーは作業フォルダ


まとめ

  • ブランチは「どの履歴を見るか」という参照
  • ワークツリーは「実際に作業するフォルダ
  • git worktree を使うと、ブランチごとに別フォルダを持てる
  • 「別のワークツリーにあります」はエラーではなく状態の説明

Git は概念が分かれると一気に楽になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?