テクノロジー

ブランチとリモートブランチの違いについて GitHub

ブランチとリモートブランチの違いについて

ローカルブランチ(例:main)

  • 自分のローカルマシン上にあるブランチ
  • 直接作業を行うことができる
  • コミット、変更、マージなどの操作を自由に行える
  • 他の人には見えない

リモートブランチ(例:origin/main)

  • リモートリポジトリ(GitHubなど)上にあるブランチの参照
  • origin/というプレフィックスが付いている
  • 直接変更することはできない
  • チーム全員が見ることができる
  • ローカルの変更をpushすることで更新される
  • pullやfetchすることで最新の状態を取得できる

実際の状況を見ると(※ハッシュ名は変えてます)↓

  • main(123456ab):自分のローカルの作業ブランチ
  • origin/main(123456ab):リモートリポジトリのmainブランチの参照

両方のコミットハッシュ(123456ab)が同じなので、ローカルとリモートが同期されている状態であることがわかります。

これらの関係を図で表すと
ローカル: [main] ←→ 作業できる
                ↕ (push/pull)
リモート: [origin/main] ←→ 参照のみ

リモートブランチは、チームでの共同作業やコードの共有、バックアップとして重要な役割を果たす。