Как я могу заставить git-svn избавиться от удаленных веток, которые больше не существуют? - PullRequest
11 голосов
/ 08 декабря 2010

Есть ли удобный способ заставить мое локальное git-репо забыть об удаленных ветках, которые были удалены?git svn fetch не "заново синхронизирует все", как я надеялся.Мое локальное репо было настроено с использованием импорта стандартного макета репозитория SVN (git svn -s …).

related: Почему git remote ничего не перечисляет в моем репозитории git-svn?

Ответы [ 2 ]

15 голосов
/ 18 июня 2013

Вы можете удалить потерянные удаленные ветви, выполнив следующие команды:

git branch -d -r my_branch
rm -rf .git/svn/refs/remotes/my_branch

Чтобы удалить все потерянные ветви сразу, а не по одной, см. Ответ здесь .

0 голосов
/ 23 декабря 2010

При первой же мысли я бы предложил попробовать git remote prune.Отрывок из документации :

обрезка

Удаляет все устаревшие ветви удаленного отслеживания в.Эти устаревшие ветви уже удалены из удаленного репозитория, на который ссылается, но все еще доступны локально в «remotes /».

С параметром --dry-run сообщать, какие ветви будут сокращены, но не сокращать их на самом деле.

Я думаю, что это также должно работать с пультом, называемым svn...

...