Antworten:
Wenn die Zweige nur lokal sind, können Sie -d verwenden, wenn der Zweig zusammengeführt wurde, wie z
git branch -d branch-name
Wenn der Zweig Code enthält, den Sie niemals zusammenführen möchten, verwenden Sie stattdessen -D .
Befindet sich der Zweig im Upstream-Repo (auf Bitbucket), können Sie die Remote-Referenz von entfernen
git push origin :branch-name
Wenn Sie sich auf der Bitbucket-Website befinden, können Sie Zweige entfernen, die Sie verschoben haben, indem Sie auf der Website unter Commits auf die Registerkarte Feature-Zweige gehen . Dort finden Sie ein Auslassungssymbol. Klicken Sie darauf und wählen Sie dann Zweig löschen . Stellen Sie nur sicher, dass Sie alle Änderungen dort ablegen möchten!
Zum Löschen von Zweigen aus Bitbucket
Neben der Antwort von @Marcus können Sie jetzt auch einen Remote-Zweig löschen über:
git push [remote-name] --delete [branch-name]
Gehen Sie in Bitbucket zu den Zweigen im Menü auf der linken Seite.
Ich konnte die meisten meiner Zweige löschen, aber einer sah so aus und ich konnte ihn nicht löschen:
Es stellte sich heraus, dass jemand Branch permissions
unter Settings
und von dort ungeprüft gesetzt hatte Allow deleting this branch
. Hoffe das kann jemandem helfen.
Update : Wo sich die Einstellungen aus der Frage im Kommentar befinden. Geben Sie das Repository ein, das Sie nicht bearbeiten möchten, um das Menü aufzurufen. Möglicherweise benötigen Sie Administratorrechte, um dies zu ändern.
Wenn Sie eine Pycharm-IDE für die Entwicklung verwenden und Git bereits hinzugefügt haben. Sie können den Remote-Zweig direkt aus Pycharm löschen. In der Symbolleiste VCS -> Git -> Zweige -> Zweig auswählen -> und Löschen . Es wird vom Remote-Git-Server gelöscht.
Ich habe dieses kleine Skript geschrieben, als die Anzahl der Zweige in meinem Repo mehrere Hundert überschritten hat. Ich kannte die anderen Methoden (mit CLI) nicht und beschloss, sie mit Selen zu automatisieren. Es öffnet einfach die Bitbucket-Website, geht zu Zweige, scrollt die Seite bis zum Ende nach unten und klickt auf jedes Zweigoptionsmenü -> klickt auf die Schaltfläche Löschen -> klickt auf Ja. Es kann so eingestellt werden, dass die letzten N (100 - Standard) Zweige beibehalten und Zweige mit bestimmten Namen übersprungen werden (Master, Entwickeln - Standard, könnte mehr sein). Wenn dies zu Ihnen passt, können Sie es auf diese Weise versuchen.
https://github.com/globad/remove-old-branches
Sie müssen lediglich das Repository klonen, die richtige Version von Chrome-webdriver herunterladen, einige Konstanten wie die URL in Ihr Repository eingeben und das Skript ausführen.
Der Code ist einfach zu verstehen. Wenn Sie Fragen haben, schreiben Sie Kommentare / erstellen Sie ein Problem.
Versuchen Sie diesen Befehl, um alle Zweige zu löschen, die mit dem develop
Zweig zusammengeführt wurden.
for i in `git branch -r --merged origin/develop| grep origin | grep -v '>' \
| grep -v master | grep -v develop | sed -E "s|^ *origin/||g"`; \
do \
git push origin $i --delete; \
done
In Android Studio die Optionen in der rechten Ecke der IDE:
Wenn Sie Spaß haben möchten, können Sie einfach zur Listenseite Ihrer Zweige gehen (z. B. zusammengeführt) und einfach in der Javascript-Konsole ausführen:
document.querySelectorAll('tr td div a:first-child').forEach(function(item) { fetch('https://bitbucket.org/snippets/new?owner=<yourprofilenick>', {'credentials': 'same-origin'}).then((response) => {return response.text()}).then(function(string) { return /'csrfmiddlewaretoken' value='(.*)'/g.exec(string)[1] }).then(function(csrf) { if (!~item.innerText.indexOf('/')) return;
fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.innerText}`, {headers: {"x-csrftoken": csrf}, credentials: "same-origin", method: 'DELETE'}).then(() => console.log(`${item.innerText} DELETED!`)) }) })
<yourprofilenick>
durch Ihren BitBucket-Nick<your_organization_path>
Ihren Organisationspfad ersetzenZuerst brauchen wir eine Seite mit einem CSRF-Token in der Seitenquelle, also wähle ich:
https://bitbucket.org/snippets/new?owner=<yourprofilenick>
Dann erhält es für jeden Zweig (in einer Zweigliste) ein CSRF-Token und löscht diesen Zweig.
Denken Sie daran, sensible Zweige zu verhindern, bevor Sie sie in den Repo-Einstellungen löschen.
Der Hauptzweig wird NICHT gelöscht.
Sie müssen angemeldet sein.
Es werden nur auf dieser Seite sichtbare Zweige gelöscht (um den Rest der Zweige zu löschen, müssen Sie zur nächsten Seite gehen).