как удалить удаленную ветку при появлении ошибки? - PullRequest
5 голосов
/ 20 апреля 2011

Я попробовал следующую команду, и она не работает.

git push origin :next
remote: error: denying ref deletion for refs/heads/next
To blah.git
 ! [remote rejected] next (deletion prohibited)
error: failed to push some refs to 'blah.git

Я использую gitolite и не могу найти ни одного из этого сообщения об ошибке в хуках. Как я могу отключить это, чтобы я мог удалить или переименовать эту удаленную ветку? Когда я запускаю git branch -r -d origin / next, он, похоже, исчезает, но следующее git pull возвращает его обратно.

Ответы [ 2 ]

5 голосов
/ 20 апреля 2011

Убедитесь, что в вашей конфигурации gitolite у вас включен флаг перемотки, поэтому вместо RW используйте RW+.Это позволит вам удалять ветки и коммиты.

git push -f origin :next

4 голосов
/ 20 апреля 2011

Это похоже на ошибку, которую вы получаете, когда пытаетесь подтолкнуть к репо с denyDeletes = true.Он предназначен для того, чтобы запретить вам переписывать историю на пульте (обычно это сопровождается denyNonFastForwards = true).В таком случае вы можете удалить только ветку, удалив ее на удаленном компьютере;--force не будет работать.

...