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?
Ответы
Ответ 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.