リポジトリの1つに多くのブランチを作成しました。これらのブランチは、マスターにプルされる前のテスト用です。今、私はリストにそれらの多くを見て、彼らは二度とそれを使用しません。これらのブランチをBitbucketに直接削除する方法は?
ブランチがローカルのみの場合、ブランチがマージされている場合は、-dを使用できます。
git branch -d branch-name
ブランチにマージする予定のないコードが含まれている場合は、代わりに-Dを使用します。
ブランチが(Bitbucketの)アップストリームリポジトリにある場合、次の方法でリモート参照を削除できます。
git Push Origin :branch-name
また、Bitbucket Webサイトを使用している場合は、サイトのCommitsの下のFeature branchesタブに移動して、プッシュしたブランチを削除できます。ここには、省略記号のアイコンがあります。それをクリックしてから、ブランチの削除を選択します。すべての変更をそこにドロップしたいだけです!
Bitbucketからブランチを削除するには、
@Marcusの回答に加えて、次の方法でリモートブランチを削除することもできます。
git Push [remote-name] --delete [branch-name]
in Bitbucket左側のメニューのブランチに移動します。
開発にpycharm IDEを使用していて、すでにGitを追加している場合。 pycharmからリモートブランチを直接削除できます。 ツールバーからVCS-> Git-> Branches-> Select branch-> and Delete。リモートgitサーバーから削除します。
リポジトリ内のブランチの数が数百を超えたときに、この小さなスクリプトを書きました。他の方法(CLIを使用)については知らなかったため、Seleniumを使用して自動化することにしました。 Bitbucket Webサイトを開き、ブランチに移動し、ページを最後までスクロールし、すべてのブランチオプションメニューをクリックします。[削除]ボタンをクリックし、[はい]をクリックします。最後のN(100-デフォルト)ブランチを保持し、特定の名前(master、develop-デフォルト、その他)のブランチをスキップするように調整できます。これがあなたに合うなら、あなたはその方法を試すことができます。
https://github.com/globad/remove-old-branches
必要なのは、リポジトリのクローンを作成し、適切なバージョンのChrome-webdriverをダウンロードし、リポジトリへのURLなどの定数を入力して、スクリプトを実行することです。
コードは理解するのに十分単純です。ご質問がある場合は、コメントを記入する/課題を作成してください。
このコマンドを試してください。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
楽しみたい場合は、ブランチのリストページに移動して(マージなど)、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トークンを取得し、そのブランチを削除します。
リポジトリ設定で削除する前に、デリケートなブランチを防ぐために注意してください。
メインブランチは削除されません。
ログインする必要があります。
そのページに表示されているブランチのみを削除します(残りのブランチを削除するには、次のページに移動する必要があります)。
Android Studioでは、IDEの右下のオプション: