How to identify a deleted branch

プラットフォームについて: Data Center のみ。 - This article only applies to Atlassian apps on the Data Center プラットフォーム

この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。

*Fisheye および Crucible は除く

要約

Identify accidentally deleted branches.

ソリューション

SQL Query

Deleted branches can be detected by running the following query in Bitbucket Server:

  • Replace <project_key> and <repository_slug> with the appropriate values:

    select p.project_key, r.slug, pr.ref_id, pr.change_type, pr.from_hash, pr.to_hash, nu.name, a.created_timestamp from sta_repo_push_ref pr join sta_repo_activity ra on ra.activity_id = pr.activity_id join repository r on r.id = ra.repository_id join project p on p.id = r.project_id join sta_activity a on a.id = pr.activity_id join sta_normal_user nu on nu.user_id = a.user_id where p.project_key = '<project_key>' and r.slug = '<repository_slug>' and to_hash like '0000000%' order by a.created_timestamp desc;
  • The query checks for branches where the tip of the branch is 0000000000000000000000000000000000000000. This identifies a deleted branch.

(自動移行された画像: 説明は一時的に利用できません)

The <project_key> is the key defined for the project in the project table, and the <repository_slug> is the repo slug defined in the repository table.

REST API

From Bitbucket 7.1.0 onwards, the GET /rest/api/latest/projects/{projectKey}/repos/{repositorySlug}/ref-change-activities endpoint can be used to retrieve changes to repo refs, which include branch deletions.

Sample API output for a deleted branch:

... { "id": 6477, "createdDate": 1680049511420, "user": { "name": "user1", "emailAddress": "user1@atlassian.com", "id": 2, "displayName": "user1", "active": true, "slug": "user1", "type": "NORMAL", "links": { "self": [ { "href": "http://bitbucket.test.com/users/user1" } ] } }, "repository": { "slug": "repo1", "id": 1, "name": "repo1", "hierarchyId": "374f1d313b9ccec62c49", "scmId": "git", "state": "AVAILABLE", "statusMessage": "Available", "forkable": true, "project": { "key": "PROJ1", "id": 1, "name": "Project 1", "public": false, "type": "NORMAL", "links": { "self": [ { "href": "http://bitbucket.test.com/projects/PROJ1" } ] } }, "public": true, "links": { "clone": [ { "href": "ssh://git@bitbucket.test.com/proj1/repo1.git", "name": "ssh" }, { "href": "http://bitbucket.test.com/scm/proj1/repo1.git", "name": "http" } ], "self": [ { "href": "http://bitbucket.test.com/projects/PROJ1/repos/repo1/browse" } ] } }, "trigger": "branch-delete", "refChange": { "ref": { "id": "refs/heads/cd", "displayId": "cd", "type": "BRANCH" }, "refId": "refs/heads/cd", "fromHash": "de4f52fa7859d53c70733fc748df29689f713dc9", "toHash": "0000000000000000000000000000000000000000", "type": "DELETE", "updateType": "NOT_FORCED" } } ...
  • the refChange.type value is "DELETE "

  • the refChange.toHash value shows "0000000000000000000000000000000000000000"

Restore a deleted branch

Once the deleted branches have been identified, if the branch has to be restored, follow the instructions on the How to restore a deleted branch page.

Bitbucket versions earlier than 7.20 do not log branch create and delete events performed through the UI in the audit logs.

This has been addressed from version 7.20 onwards, as part of the feature request, BSERV-7046 - Log branch addition and deletion made via Stash UI to the Audit logs.

更新日時: September 25, 2025

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。