Как удалить поддельные удаленные ветки, которые у меня появились после перехода с git-svn на git? - PullRequest
4 голосов
/ 04 марта 2012

Я уже некоторое время использую git-svn (все остальные в моей команде использовали svn напрямую).Мы решили, что все начнем использовать git.Для этого я использовал git-репо, который является моей «стороной» git-svn, вот так:

$ git remote add origin git@github.com:mycompany/myproject.git
$ git push -u origin master

Все прошло хорошо, но когда процесс был завершен, я сохранил все эти нелепые ветвиэтот git-svn был создан, когда я впервые начал его использовать, с небольшим изломом;Git больше не будет даже признавать, что они были филиалами.Вот как выглядел мой список:

$ git branch -r
domain_integration
dot-org
dot-org@1977
email-edit-page
origin/account-integration
origin/master
origin/stable
prototype_to_jquery-1.1.0
stable@1976
tags/development-1.1.0.0
tags/pre-2011-02-08
tags/production-1.0
tags/stable-1.0.0
tags/stable-1.0.1
tags/stable-1.1.0
tags/stable-1.1.0.1
trunk-stash

Они раздражали, хотя я знал, откуда они (в основном), но теперь я даже не могу их удалить.Это происходит:

$ git branch -d trunk-stash
error: branch 'trunk-stash' not found.

Я смог исправить некоторые из них, зайдя в .git / refs / remotes и просто удалив их, но там было всего несколько.Единственное другое место, где я могу их найти, находится в .git / info / refs.Что выглядит примерно так:

...
7788d300f0d4370d65a3ccf3e47d90f7fb16b0b4        refs/remotes/tags/stable-1.0.0
aace34d6745080ce2b6b29e927f5d1b050b99511        refs/remotes/tags/stable-1.0.1
58bd2ac23d5979ff61bd6305df18f8a5da50f888        refs/remotes/tags/stable-1.1.0
644fd55fcdf2569305cdbe0b6fefb9f247625658        refs/remotes/tags/stable-1.1.0.1
bc8e9f9177c9612aceb55624adea1b02e9e8620f        refs/remotes/trunk
69493e14345e6a7a4db324935bccd6393f201da4        refs/remotes/trunk-stash
25b7024f6c1d38c10400b2c2e7b446aae1e84e06        refs/stash
...

Я предполагаю, что это просто связано с ветвями с их последними коммитами.Имеет ли смысл удалять «поддельные»?Это что-то сломает?(Это будет работать?)

1 Ответ

2 голосов
/ 04 марта 2012

Если вам нужна только основная ветка, вы всегда можете удалить локальное репо и повторно клонировать его. Это проще всего, если вы не заботитесь ни о чем, кроме основной ветки. Вы всегда можете попробовать:

git remote prune origin

Чтобы избавиться от удаленных ссылок, которые больше не имеют происхождения, но хранятся локально.

...