Подтвердить что ты не робот

Git удалить удаленную ветку в репозитории TFS Git

мы используем git в Team Foundation Service, и мы пытаемся найти способ удалить удаленную ветвь, выполнив следующую команду.

git push origin --delete TheBranchName

Удаленный сервер продолжает отклоняться со следующей ошибкой

 ! [remote rejected] TheBranchName (TF401026: The ForcePush permission is required to perform this action.) error: failed to push some refs to 'https://xxx.visualstudio.com/DefaultCollection/_git/Xxxxxx'

любая идея, как установить правильное разрешение для пользователя в TFS?

4b9b3361

Ответ 1

Доступ к параметрам безопасности можно получить для репозиториев на  
1. Код- > Проводник  
2. Выберите репо-форму проводника  
3. При подробностях репозитория вы должны щелкнуть по имени репозитория рядом с проводником.  
4. Выберите меню "Управление репозиториями"...

Здесь вы можете настроить права каждой группы участников и отдельных пользователей для репозиториев и их веток. "Переписать и уничтожить историю (принудительное нажатие)" вариант "Разрешить" или "Унаследовать" Позволить иметь возможность принудительного нажатия.

Ответ 2

Чтобы удалить удаленную ветку, вы можете использовать:

git push origin :TheBranchName

Ответ 3

В первом ответе и первом комментарии этой ссылки отвечает на ваш вопрос:

"Кто-то включил крючок в удаленном репо, который запрещает удаление - обычно это делается так, что кто-то не может перетащить пересоединенную ветвь в репо (я поддерживаю довольно большую коллекцию репозиториев git и все они настроены таким образом, хотя и не с крюком.)

Посмотрите каталог hooks/в удаленном репозитории. Будет script с именем "update"; это то, что отказывается позволить вам удалить ветку. "

Ответ 4

Из git push man-страницы:

-f
--force
    Usually, the command refuses to update a remote ref that is not an ancestor of the
    local ref used to overwrite it. This flag disables the check. This can cause the
    remote repository to lose commits; use it with care.

Похоже, что ветка, которую вы пытаетесь удалить, не является предком ветки, в которой вы находитесь, добавьте этот аргумент --force и посмотрите, помогает ли она.

Ответ 5

Я приземлился на этот вопрос, ища способ удалить ветку в VSO. Для всех, кто приземляется здесь, у меня есть процесс, который немного громоздкий, но работает. Создайте запрос на растяжение из ветки. Как только запрос на растяжение будет создан, закройте его. Как только вы откажетесь от запроса, вам будет предложена кнопка ветки источника удаления. Нажмите, чтобы удалить ветку.

Ответ 6

Я хотел бы отредактировать ответ Ursegor, но мне не хватает репутации, чтобы сделать это.

В версии 14.102.25423.0 (обновление Team Foundation Server 2015 3) доступ к параметрам безопасности/разрешений можно получить для хранилищ по адресу:

  • Code/Explorer
  • Выберите репозиторий формы Explorer
  • Нажмите три точки ... рядом с именем репозитория.
  • Выберите Security

Ответ 7

Мне просто нужно было открыть инструмент Git UI, открыть репо и удалить ветку оттуда, и он работал нормально. Я не мог сделать это из TFS.