Git supprimer à distance dans TFS dépôt git

nous utilisons Git dans le Service Team Foundation, et nous essayons de trouver un moyen de supprimer une branche distante en exécutant la commande suivante.

git push origin --delete TheBranchName

le serveur distant continue de rejeter avec l'erreur suivante

 ! [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'

avez-vous une idée de la façon de définir une permission correcte pour un utilisateur dans TFS?

28
demandé sur jessehouwing 2013-03-06 23:50:16

7 réponses

les options de sécurité sont accessibles pour les dépôts à

1. Code - > Explorer

2. Sélectionner un formulaire de repo L'Explorateur

3. Les détails du référentiel, vous devez cliquer sur le nom du référentiel à côté de l'explorateur.

4. Sélectionnez les dépôts de gestion... menu

ici vous pouvez configurer les droits de chaque groupe de contributeurs et les utilisateurs individuels pour les dépôts et leurs succursales. "Réécriture et de détruire l'histoire (la force de la poussée)" option shound être Autoriser ou Hérité Permettre d'être en mesure de la force de pousser.

22
répondu Ursegor 2016-02-12 15:25:15

Pour supprimer une branche distante, vous pouvez utiliser:

git push origin :TheBranchName
5
répondu MrDustpan 2013-05-30 14:37:06

dans la première réponse et le premier commentaire de ce lien est répondu à votre question:

" Quelqu'un a activé un crochet dans la remise en état à distance qui interdit la suppression -- cela est habituellement fait pour que quelqu'un ne puisse pas pousser une branche rebasée dans la remise en état. (J'ai une collection assez importante de dépôts git et ils sont tous configurés de cette façon, mais pas avec un crochet.)

Regardez dans le répertoire hooks/ du dépôt distant. Il y aura un script nommé "update"; c'est ce qui refuse de vous laisser supprimer la branche."

3
répondu Winner Crespo 2017-05-23 12:10:49

De la git push l'homme-page:

-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.

ressemble à la branche que vous essayez de supprimer n'est pas un ancêtre de la branche sur laquelle vous êtes -- ajouter cet argument --force et voir si cela aide.

2
répondu David Culp 2013-03-06 22:32:44

je voudrais modifier Ursegor réponse mais je n'ai pas la réputation de le faire.

dans la version 14.102.25423.0 (Team Foundation Server 2015 Update 3) les options de sécurité/permissions sont accessibles pour les dépôts à:

  1. Code/Explorer
  2. sélectionner un dépôt dans L'Explorateur
  3. cliquez sur les trois points ... à côté du nom de repositoy.
  4. sélectionner Security
2
répondu inwenis 2018-08-15 10:09:10

j'ai atterri sur cette question à la recherche d'un moyen de supprimer une branche dans VSO. Pour tous ceux qui atterrissent ici, j'ai un processus un peu lourd, mais qui fonctionne. Créer une demande d'extraction de la branche. Une fois la demande d'extraction est créé, l'abandonner. Une fois que vous abandonnez la requête, vous êtes présenté avec un bouton Supprimer la branche source. Cliquez sur cela pour supprimer la branche.

1
répondu Prof Von Lemongargle 2016-02-23 15:59:13

j'ai juste eu à ouvrir l'outil git UI, ouvrir le repo et a supprimé la branche de là et il a fonctionné très bien. Je n'ai pas pu le faire depuis TFS.

0
répondu Flea 2016-11-17 18:23:03