7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブランチ名の落とし穴にハマった話(初心者メモ)

Posted at

こんにちは、decoponです。

Git初心者の頃の私が、「ブランチ名の落とし穴」にハマった話です。
SourceTreeで操作していたら、pushしようとしたブランチ名が origin/origin/fix-login になっていて、
「え?originが2回?どこにpushされるの?」と混乱しました。

この記事では、

  • なぜそんなブランチ名になったのか
  • どうやって修正したか
  • 今後同じことを防ぐためのポイント

をまとめておきます。


🌀 何が起きたのか

❌ やってしまった操作

  • SourceTreeで origin/fix-login を選択して「新しいブランチを作成」
  • そのまま push したら、origin/origin/fix-login というブランチ名でリモートに作成されてしまった

🤯 結果

  • GitHub上に origin/origin/fix-login というブランチが出現
  • チームメンバーから「これ何?」と聞かれて冷や汗…

🔍 原因と仕組み

origin/xxx は“リモートのブランチ”を指す名前

  • origin はリモートリポジトリの名前(通常GitHubなど)
  • origin/xxx は「リモートにある xxx ブランチ」の意味
  • それをそのままブランチ名にしてしまうと、origin/origin/xxx という名前のローカルブランチができる

✅ SourceTreeのUI操作で起きやすい

  • リモートブランチを選択して「新しいブランチを作成」すると、その名前がそのまま使われてしまうことがある
  • 特に初心者は「origin/xxx」がブランチ名だと勘違いしやすい

🛠️ 対処法:ブランチ名の修正

✅ ローカルブランチ名を変更

git branch -m origin/origin/fix-login fix-login

✅ 正しいブランチ名でpushし直す

git push origin fix-login

✅ GitHub上の不要なブランチを削除

git push origin --delete origin/origin/fix-login

🌿 今後の予防策

対策 なぜ有効なのか
origin/xxx は参照表記と理解する リモートブランチを指しているだけで、ブランチ名ではない
ブランチは git checkout -b 新規名 origin/main の形式で作成 名前の重複や混乱を避けられる/元ブランチを明示できる
SourceTreeでブランチ作成時は手動で名前を修正する UI操作では誤って origin/ 付きのブランチが作られることがある
チームで命名ルールを共有・統一する レビューや履歴追跡がしやすくなる/新人の混乱も防げる
不要なブランチは push後すぐに削除する習慣をつける ブランチ一覧の可読性維持/事故の予防につながる

🐻 おわりに

Gitのブランチ名って、ちょっとした操作ミスで“謎の名前”が生まれることがあるんですよね。 でもそれは、Gitの仕組みを理解するきっかけにもなるし、 Qiitaに書くことで、同じことで困ってる誰かの助けにもなると思っています。

🧸:「originは“場所”であって、“名前”じゃないんだよ☁️」

この記事が、誰かの「Gitで混乱しないためのヒント」になりますように🌟

7
2
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
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?