2016-08-19 2 views
1

Один из моих коллег «повторно использовать» имя ветви, так что каждый раз, когда я тяну, я получаю сообщение об ошибке:Как я могу удалить удаленную ветку только определенной удаленной ветвью?

error: 'refs/remotes/origin/branch' exists; cannot create 'refs/remotes/origin/branch/subbranch' 
... 
error: some local refs could not be updated; try running 
'git remote prune origin' to remove any old, conflicting branches 

Дела в том, я не хочу, чтобы сделать оптовую удаленную обрезку - Я m paranoid, и я хочу сохранить эти местные ссылки, в случае, если другие коллеги прикрутились новыми и интересными способами.

Есть ли способ, которым я могу обрезать только оскорбительную ветку без обрезки всех других ветвей, которые счастливо сидят как удаленные ссылки на моем локальном репозитории?

+0

У вас есть ветки, которые вы хотите сохранить? Если это так, нет необходимости отдельно указывать ссылки на них, вы всегда можете вернуться к этим коммитам. (Даже если нет, коммиты будут зависать до сбора мусора.) –

ответ

1

Похоже, вы можете определенно удалить локальную эталонную ветвь, если вы используете -r вариант git branch:

git branch -r --delete origin/branch 

После этого, новый филиал может быть создан надлежащим образом, и принести и тянуть происходит без ошибок , (И git remote prune --dry-run origin по-прежнему сообщает о ветвях, чтобы обрезать.)