web-dev-qa-db-ja.com

Bitbucketでブランチを削除する

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

102
catherine

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

git branch -d branch-name

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

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

git Push Origin :branch-name

また、Bitbucket Webサイトを使用している場合は、サイトのCommitsの下のFeature branchesタブに移動して、プッシュしたブランチを削除できます。ここには、省略記号のアイコンがあります。それをクリックしてから、ブランチの削除を選択します。すべての変更をそこにドロップしたいだけです!

enter image description here

187
Marcus

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

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

@Marcusの回答に加えて、次の方法でリモートブランチを削除することもできます。

git Push [remote-name] --delete [branch-name] 
13

in Bitbucket左側のメニューのブランチに移動します。

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

ほとんどのブランチを削除できましたが、1つは次のように見え、削除できませんでした。

enter image description here

誰かがSettingsの下にBranch permissionsを設定し、そこからAllow deleting this branchのチェックを外したことが判明しました。これが誰かを助けることを願っています。

enter image description here

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

enter image description here

5
Ogglas

ステップ1:ログインBitbucket

ステップ2:リポジトリリストでリポジトリを選択します。 enter image description here

ステップ3:左側のメニューでブランチを選択します。 enter image description here

Step4:ブランチ上のカーソルポイントで3つのドットをクリック(...)[削除]を選択します(以下の画像を参照) enter image description here

3
Nanhe Kumar

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

2
Jyoti Amage

リポジトリ内のブランチの数が数百を超えたときに、この小さなスクリプトを書きました。他の方法(CLIを使用)については知らなかったため、Seleniumを使用して自動化することにしました。 Bitbucket Webサイトを開き、ブランチに移動し、ページを最後までスクロールし、すべてのブランチオプションメニューをクリックします。[削除]ボタンをクリックし、[はい]をクリックします。最後のN(100-デフォルト)ブランチを保持し、特定の名前(master、develop-デフォルト、その他)のブランチをスキップするように調整できます。これがあなたに合うなら、あなたはその方法を試すことができます。

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

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

コードは理解するのに十分単純です。ご質問がある場合は、コメントを記入する/課題を作成してください。

1
Dan

このコマンドを試してください。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

楽しみたい場合は、ブランチのリストページに移動して(マージなど)、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 === 'Create') return; 
 fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.dataset.branchName}`, {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トークンを取得し、そのブランチを削除します。

気をつけて

リポジトリ設定で削除する前に、デリケートなブランチを防ぐために注意してください。

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

追加情報

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

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

0
turkus

Android Studioでは、IDEの右下のオプション:

  • 他のローカルブランチの変更/チェックアウト
  • 不要なローカルブランチを削除します(つまりv0.0.1 ...)
  • 不要なリモートブランチの削除(つまり、Origin/v0.0.1 ...)-ブランチの削除が妨げられておらず、それらがMAINブランチ
0
Tim Long