Bitbucketでブランチを削除する


133

私はリポジトリの1つにたくさんのブランチを作成しました。これらのブランチは、マスターにプルされる前のテスト用です。今、私はそれらの多くをリストに表示し、彼らは二度とそれを使用しないでしょう。これらのブランチをBitbucketに直接削除する方法は?

回答:


224

ブランチがローカルのみの場合、次のようにブランチがマージされている場合は-dを使用できます。

git branch -d branch-name

ブランチにマージする予定のないコードが含まれている場合は、代わりに-Dを使用してください。

ブランチが(Bitbucketの)アップストリームリポジトリにある場合、次の方法でリモート参照を削除できます。

git push origin :branch-name

また、Bitbucket Webサイトを使用している場合は、サイトの[ コミット ]の下にある[ 機能ブランチ ]タブに移動して、プッシュしたブランチを削除できます。そこに省略記号のアイコンがあります。それをクリックし、[ブランチの削除]を選択します。そこにすべての変更をドロップしたいことを確認してください!

ここに画像の説明を入力してください


2
「git branch -r」を実行すると、BBがサーバーからブランチを削除していないことがわかります。GUIには表示されなくなりましたが、gitサーバーには表示されます。
ジャージー豆

37

Bitbucketからブランチを削除するには、

  1. 概要に移動します(リポジトリ> 左側のサイドバーのブランチ
  2. ブランチの数をクリックします(ブランチのリストが表示されます)。
  3. 削除するブランチをクリックします
  4. 右上隅にある3つのドット([マージ]ボタンの横)をクリックします。
  5. 権限がある場合は、「ブランチの削除」のオプションがあります。

1
「概要」はどこにありますか?ソースを意味する場合、...の下に「ブランチの削除」オプションが表示されません
niico

7
ステップ1は、「リポジトリに移動して、左側のサイドバーにある「ブランチ」をクリックします。」
ヌメノン、


8

Bitbucket左側のメニューにある支店に行きます。

  1. 削除するブランチを選択します。
  2. アクション列に移動し、3つのドット(...)をクリックして、削除を選択します。

7

ほとんどのブランチを削除できましたが、次のようになり、削除できませんでした。

ここに画像の説明を入力してください

誰かがBranch permissionsSettingsに着いて、そこからチェックされていないことがわかりましたAllow deleting this branch。これが誰かを助けることを願っています。

ここに画像の説明を入力してください

更新:コメントの質問から設定がどこにあるか。メニューを取得するために編集しないリポジトリを入力します。これを変更するには、管理者権限が必要な場合があります。

ここに画像の説明を入力してください


「設定」はどこにありますか?メインブランチまたはその中のすべてのファイルを削除する必要があります。どうすればいいのですか?

3

ステップ1:Bitbucketにログインする

ステップ2:リポジトリリストでリポジトリを選択します。 ここに画像の説明を入力してください

ステップ3:左側のメニューでブランチを選択します。 ここに画像の説明を入力してください

ステップ4:ブランチ上のカーソルポイントで3つのドット(...)をクリックします[削除]を選択します(下の画像を参照) ここに画像の説明を入力してください


2

開発にpycharm IDEを使用していて、Gitをすでに追加している場合。pycharmからリモートブランチを直接削除できます。 ツールバーからVCS-> Git->ブランチ->ブランチを選択->そして削除。リモートのgitサーバーから削除します。


2

私のリポジトリのブランチの数が数百を超えたときに、私はこの小さなスクリプトを書きました。他の方法(CLIを使用)については知りませんでしたので、セレンで自動化することにしました。それは単にBitbucketウェブサイトを開き、ブランチに行き、ページを最後までスクロールし、すべてのブランチオプションメニューをクリックします->削除ボタンをクリックします->はいをクリックします。最後のN(100-デフォルト)ブランチを保持し、特定の名前のブランチをスキップするように調整できます(マスター、開発-デフォルト、その他の場合もあります)。これがあなたに合うなら、あなたはその方法を試すことができます。

https://github.com/globad/remove-old-branches

必要なのは、リポジトリのクローンを作成し、適切なバージョンのChromeウェブドライバをダウンロードし、URLなどの定数をリポジトリに入力して、スクリプトを実行することだけです。

コードは理解するのに十分単純です。質問がある場合は、コメントを書き込んだり、問題を作成したりしてください。


1

このコマンドを実行すると、developブランチにマージされたすべてのブランチが削除されます。

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

0

ではAndroidのメーカー、IDEの右下のオプション:

  • 他のローカルブランチの変更/チェックアウト
  • 不要なローカルブランチを削除します(つまり、v0.0.1 ...)
  • 不要なリモートブランチ(つまりorigin / v0.0.1 ...)を削除します。ブランチの削除が禁止されておらず、メインブランチでない場合、このステップはBitBucketのブランチを削除します。

0

おもしろければ、ブランチのリストページ(たとえば、マージ済み)に移動して、JavaScriptコンソールで実行するだけです。

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>BitBucketのニックネームに置き換えます
  • <your_organization_path>組織のパスに置き換えます

使い方

まず、ページのソースにCSRFトークンを含むページが必要なので、次のように選択します。

https://bitbucket.org/snippets/new?owner=<yourprofilenick>

次に、ブランチリスト(ブランチリスト内)ごとにCSRFトークンを取得し、そのブランチを削除します。

注意する

repo設定で削除する前に重要なブランチを防ぐための注意事項。

メインブランチは削除されません。

追加情報

ログインする必要があります。

そのページに表示されているブランチのみを削除します(残りのブランチを削除するには、次のページに移動する必要があります)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.