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?
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.
Um einen entfernten Zweig zu löschen, können Sie Folgendes verwenden:
git Push Origin :TheBranchName
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. "
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.
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:
Code/Explorer
...
neben dem Repositoy-Namen.Security
aus.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.