it-swarm.com.ru

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?

29
Eatdoku

Опции безопасности доступны для репозиториев по адресу
1. Code-> Explorer
2. Выберите репо из Проводника
3. В подробностях хранилища, вы должны щелкнуть по имени хранилища рядом с Проводником . 
4. Выберите меню Управление репозиториями ...

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

22
Ursegor

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

git Push Origin :TheBranchName
5
MrDustpan

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

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

Загляните в каталог hooks/в удаленном хранилище. Там будет скрипт с именем «обновление»; это то, что не позволяет вам удалить ветку. "

3
Winner Crespo

С man-страницы git Push:

-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 и посмотрите, поможет ли это.

2
David Culp

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

В версии 14.102.25423.0 (Team Foundation Server 2015 Update 3) параметры безопасности/разрешений доступны для репозиториев по адресу:

  1. Code/Explorer
  2. Выберите репозиторий в проводнике 
  3. Нажмите на три точки ... рядом с именем репозитория.
  4. Выберите Security
2
inwenis

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

1
Prof Von Lemongargle

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

0
Flea