2014-02-21 4 views
1

git branch -r показывает кучу веток я удален с другого компьютера:мерзавец дистанционного чернослив не удаляет удаленные ветви

-bash-4.1$ git branch -r 
origin/access-qa 
origin/add-search-efforts 
origin/align-buttons 
origin/enable-features 
origin/fix-code-coverage 
origin/master 
origin/qa 
origin/search-effort-qa 
origin/specs-run-once-test 

ls-remote не показывает такие отрасли:

bash-4.1$ git ls-remote origin 
5a14d91b7b257f194a82e4d51a4b7e9523969c5a HEAD 
ac5962d0b35910494ad1079dc050e7ed605cb52b refs/heads/align-buttons 
5a14d91b7b257f394a82e4d51a4b7e9523969c5a refs/heads/master 
d8bc750f9a763cf7b74a546e6aee6b1764b3a65b refs/heads/search-effort-qa 
d20c2691afead974156d2d47fd7cd7dc3d40870e refs/pull/1/head 
3648c9e85be2dffd9175e3a39ab6b19761d111e1 refs/pull/1/merge 
326476732e6dc41d87c3fd556fc2f5f272a58236 refs/pull/2/head 
5e55eb5c4c76667dd2369cf7830b30c0e256b501 refs/pull/2/merge 
da4731db499709c6f96010adb583eb23898ec91d refs/pull/3/head 

Я пытался избавиться из них:

git remote prune origin 
git fetch origin --prune 
git remote update -p 
git prune 
git fsck 
git gc 
git gc --prune=now 

Но git branch -r по-прежнему показывает отрасль эс.

Примечание. Это рабочее пространство Jenkins (каждый с репо от git clone). У меня есть 5 других рабочих областей. В одном рабочем пространстве git remote prune origin работал отлично.

Я начинаю думать, что мое репо повреждено. Удаление удаленного и повторного добавления успешно удаляет удаленные ссылки, но я бы предположил, что есть лучший способ.

+0

Что такое 'git config remote.origin.fetch' в этом репо? – lrineau

+1

Спасибо, это была проблема: 'git config remote.origin.fetch' был пустым, тогда как в других моих рабочих местах он был установлен правильно. Я обновил 'remote.origin.fetch', а' git fetch origin --prune' удаляет удаленные ветви. – maxmoe

+0

@Irineau, вы хотите опубликовать ответ? В качестве альтернативы я могу опубликовать ответ. – maxmoe

ответ

0

Это поведение Git странно. Это можно объяснить неправильным значением git config remote.origin.fetch.

0

Я не уверен, если я понимаю ваш вопрос, но лучший способ, чтобы удалить ветку из мерзавца является:

git branch -D branchName (your branch will be removed from your local) 
git push origin :branchName (your branch will be removed in the repository) 

Надежда это hepls

+0

Привет, jbartolome, спасибо за ваш ответ. Я удалил ветки из своего локального репо и удаленного репо, используя методы, которые вы описали, однако я все еще вижу, что эти ветви появляются с другого компьютера и я не могу их удалить. – maxmoe

+0

С другого компьютера просто введите git fetch. Эти ветви должны исчезнуть. – jbartolome

Смежные вопросы