wake-up-neo.net

Git entfernte Verzweigung im TFS-Git-Repository

wir verwenden git in Team Foundation Service und versuchen, einen entfernten Zweig zu löschen, indem Sie den folgenden Befehl ausführen.

git Push Origin --delete TheBranchName

Der Remote-Server lehnt mit folgendem Fehler immer wieder ab

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

haben Sie eine Idee, wie Sie einem Benutzer in TFS die korrekte Berechtigung zuweisen können?

29
Eatdoku

Auf die Sicherheitsoptionen für die Repositorys kann unter .__ zugegriffen werden. 
1. Code-> Explorer
2. Wählen Sie ein Repo aus dem Explorer
3. Klicken Sie bei den Details des Repositorys auf den Namen des Repositorys neben dem Explorer . 
4. Wählen Sie das Menü Repositorys verwalten ... aus

Hier können Sie die Rechte der einzelnen Mitwirkergruppen und einzelnen Benutzer für Repositorys und deren Zweigstellen konfigurieren. Die Option "Historie neu schreiben und zerstören (Push erzwingen)" wird aktiviert oder ererbt.

22
Ursegor

Um einen entfernten Zweig zu löschen, können Sie Folgendes verwenden:

git Push Origin :TheBranchName
5
MrDustpan

In der ersten Antwort und dem ersten Kommentar dieses Links wird Ihre Frage beantwortet:

"Jemand hat im Remote-Repo einen Hook aktiviert, der das Löschen verhindert. Dies wird normalerweise so getan, dass jemand einen neu basierten Zweig nicht in das Repo schieben kann Alle auf diese Weise konfiguriert, jedoch nicht mit einem Haken.)

Schauen Sie im Verzeichnis hooks/im Remote-Repository nach. Es wird ein Skript mit dem Namen "Update" geben. dies ist es, was Sie nicht zulassen, dass Sie den Zweig löschen. "

3
Winner Crespo

Auf der git Push-Manpage:

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

Sieht aus, als wäre der Zweig, den Sie löschen möchten, kein Vorfahr des Zweiges, in dem Sie sich befinden - fügen Sie dieses --force-Argument hinzu und prüfen Sie, ob es hilfreich ist.

2
David Culp

Ich würde gerne Ursegor answer bearbeiten, aber mir fehlt der Ruf dafür.

In Version 14.102.25423.0 (Team Foundation Server 2015 Update 3) können Sie auf die Sicherheits-/Berechtigungsoptionen für die Repositorys zugreifen:

  1. Code/Explorer
  2. Wählen Sie im Explorer ein Repository aus 
  3. Klicken Sie auf die drei Punkte ... neben dem Repositoy-Namen.
  4. Wählen Sie Security aus.
2
inwenis

Ich kam auf diese Frage und suchte nach einer Möglichkeit, einen Zweig in VSO zu löschen. Für jeden, der hier landet, habe ich einen Prozess, der etwas umständlich ist, aber funktioniert. Erstellen Sie eine Pull-Anforderung von der Zweigstelle. Wenn die Pull-Anforderung erstellt wurde, brechen Sie sie ab. Wenn Sie die Anforderung abbrechen, wird eine Schaltfläche zum Löschen der Quellverzweigung angezeigt. Klicken Sie darauf, um den Zweig zu löschen.

Ich musste nur das Git UI-Tool öffnen, das Repo öffnen und den Zweig von dort löschen, und es hat gut funktioniert. Ich konnte es nicht von TFS machen.

0
Flea