Bitbucketとは:GitHub・GitLabとの違いと料金、向いている会社

公開 書いた人 大林 諒

取引先のエンジニアから「ソースはBitbucketにあります」と言われて、GitHubとの違いが分からないまま招待を受けることがあります。BitbucketはGitの履歴を預かるサービスで、手元で打つコマンドはGitHubと同じです。違うのは料金と無料の枠、そしてJiraとのつながりです。読み終わると、3社の違いを説明でき、自社がBitbucketを選ぶべきかどうかを決められます。

この記事の内容
  1. 先に答えると
  2. Bitbucketとは何か
  3. 3社の比較
  4. 向いている会社、向かない場面
  5. 最初の手順
  6. Pipelinesの最小の例
  7. GitHubから移す
  8. 迷ったときの判断の順番
  9. できないことと、その代わり
  10. よく詰まるところ
  11. 次に読む

先に答えると

Bitbucket(ビットバケット)は、Jiraを作っているAtlassianが運営する、Gitの履歴の置き場所です。すでにJiraやConfluenceを使っている会社なら有力な候補です。使っていない小さな会社は、GitHubのFreeから始めれば足ります。

  • 料金はFree $0、Standard $3.65、Premium $8(1ユーザー月、2026年11月時点)
  • Freeは5ユーザーまで、自動処理は月50分。非公開リポジトリの数に制限はない
  • 変更の確認の呼び名はプルリクエストで、GitHubと同じ
  • BitbucketのIssueとWikiは廃止の対象で、IssueのAPIは2026年8月20日に削除された。やることの管理はJiraなどで行う
  • パスワードに当たるのはAPI tokenで、App passwordは使えなくなった。SSHの接続先も、告知では2026年12月10日に変わる

Bitbucketとは何か

リポジトリ(ファイルと変更履歴の置き場)をネット上に預かるサービスです。GitHubやGitLabと同じ種類のものです。Git本体はどの会社のものでもないので、git add、git commit、git push はどこでも変わりません。送り先と画面と料金が違うだけです。

Atlassianは、課題管理のJiraや社内文書のConfluenceを提供している会社です。Bitbucketの特徴は、この2つと同じ会社の製品としてつながることにあります。機能の多さで選ぶサービスというより、Atlassianの製品を使う会社のコードの置き場所、と考えると整理しやすいです。

土台のGitは同じで、置き場所が3社あり、BitbucketだけJiraとConfluenceにつながる図
土台のGitは同じで、置き場所が3社あり、BitbucketだけJiraとConfluenceにつながる図

3社の比較

値は公式のページで確かめたもので、2026年11月時点です。GitLabは断りがなければ GitLab.com の値です。

比べるところGitHubGitLabBitbucket
運営GitHub(Microsoft傘下)GitLab Inc.Atlassian
料金(1ユーザー月)Free $0、Team $4、Enterprise $21Free $0、Premium $29(年額請求)、Ultimate 個別見積Free $0、Standard $3.65、Premium $8
無料の人数非公開の共同作業者は上限なし非公開のトップレベルで5ユーザーまで5ユーザーまで
自動処理の無料枠月2,000分月400コンピュート分月50分
有料の自動処理枠Team 3,000分、Enterprise 50,000分Premium 10,000分、Ultimate 50,000分Standard 2,500分、Premium 3,500分
非公開リポジトリFreeで数の制限なしFreeで作れるFreeで数の制限なし
自社サーバーの選択肢GitHub Enterprise ServerSelf-ManagedBitbucket Data Center
変更の確認の呼び名Pull requestMerge requestPull request
自動処理の設定ファイル.github/workflows の中.gitlab-ci.ymlbitbucket-pipelines.yml
やることの管理GitHub IssuesGitLab Issues自前の機能は廃止。Jiraなど
Wiki非公開はFreeでは対象外Freeから自前の機能は廃止。Confluenceなど

プルリクエスト(Pull Request、PR)は、変更を本筋に合流させる前に確認を頼む機能です。Bitbucketも同じ名前で、代表と外注エンジニアBのやり取りの流れはGitHubと変わりません。

料金の読み方

Bitbucketは有料の入口が3社で一番安く見えます。7人で計算すると、Standardは月$25.55、GitHub Teamは月$28、Premiumは月$56です。ただ、含まれる機能も自動処理の枠も違うので、金額だけでは比べられません。公式の制限のページには、1ユーザー月の値として$3と$6という別の金額が残っていました。ここでは料金ページの値を書いています。契約の前に料金ページの表示で確かめます。

ストレージの枠は、大きなファイルを扱うGit LFSの分がFree 1GB、Standard 5GB、Premium 10GBです。枠を超えたら、1,000分または100GBごとに月$10で足せます。Premiumには合流前のチェックの強制、IPアドレスでの接続制限、公開先ごとの権限、2段階認証の必須化が入ります。

無料の枠はワークスペース全体で分ける

Freeの月50分と1GBは、Workspace(次の節で説明します)の全員で分けます。1回2分の確認なら、月に25回で使い切ります。main に毎日変更を入れるだけで足りなくなる計算です。自動処理をよく動かすなら、ここが3社で一番差の出るところです。

人数はGitLab.comのFreeと同じ5人です。サンプル料理教室は代表1名、講師3名、受付2名で、外注エンジニアBを足すと7人なので、全員は入りません。実際にコードを触る代表、受付A、Bの3人なら収まります。

自社サーバーに置く Data Center

Bitbucket Data Centerは、規制やセキュリティの要件が厳しい会社向けの、自社で管理する形です。料金は載っていなくて、窓口は営業です。

Atlassianは Data Center 製品の販売終了を進めていて、新規の顧客は2026年3月30日で新しい契約を買えなくなると書いています。一方で「Bitbucket and Bamboo Data Center will not end of life」とあり、Bitbucketは製品の終了の対象外です。既存の顧客には Bitbucket Hybrid License という更新の道が示されています。新規の会社がBitbucket Data Centerを買えるかどうかは、このページでは読み取れません。必要なら営業に確かめます。

自社サーバーで運用する仕事の話は「GitHubとGitLabの違い:料金・機能・自社サーバーで比べる選び方」に書きました。

向いている会社、向かない場面

場面Bitbucketは理由
Jiraで仕事を管理している向いている枝、コミット、プルリクエスト、ビルドの結果がJiraの画面で見える
Confluenceで文書を管理している向いている自前のWikiがなくても困らない
取引先がBitbucketで動いている合わせる招待で入るので、自社で選ぶ話ではない
5人以内で、自動処理をあまり動かさない使えるFreeの範囲に収まる
Jiraを使っていないが、Issueで仕事を回したい向かない自前のIssueがなく、別の道具が要る
自動処理を無料でよく動かす向かないFreeは月50分。GitHubは月2,000分
GitHub前提の道具やAIを使っている確かめてから連携先によってはGitHubが前提になる

一番大きいのはIssueの扱いです。Atlassianは、Bitbucketの自前のIssueとWikiの廃止を告知しています。IssueのAPIは2026年8月20日に削除されました。Wikiの廃止日は公式の告知に書かれていません。代わりに案内されているのはJiraとConfluenceです。Jiraを入れる予定のない会社がBitbucketを選ぶと、やることの管理だけ別に探すことになります。

実際に運用していると、道具の選択は機能の表より、毎日開いている画面で決まります。

Jiraとつなぐ

つなぐとJiraの画面に枝やプルリクエストが出て、Bitbucketのリポジトリからも Jira の課題を見られます。WorkspaceとJiraの管理者の権限で作業します。

  1. 右上のプロフィールの画像を押す
  2. 「Recent workspaces」から sample-cooking を選ぶ
  3. 上のバーの設定の歯車「Settings」を押す
  4. 「Workspace settings」を選ぶ
  5. 「Atlassian Integrations」の下の「Jira」を選ぶ
  6. つなぐJiraを選び、「Connect」を押す
  7. 確認の画面で「Grant access」を押す
  8. 次の確認の画面でも「Grant access」を押す
  9. リポジトリを自動で同期するか、Smart Commitsを使うかの選択画面が出る。初期値は両方オンで、そのままでよい
  10. 「OK」を押す

最初の手順

Workspace、Project、Repositoryの関係

Bitbucketには入れ物が3段あります。

段何かサンプル料理教室なら
Workspaceリポジトリを作って共同作業する一番上の場所。URLに入るsample-cooking
ProjectWorkspaceの中でリポジトリをまとめる単位。権限の設定にも使うホームページと予約メール
Repositoryファイルと履歴の置き場website、reservation-mail

GitHubのOrganizationに当たるのがWorkspaceです。リポジトリのURLは bitbucket.org/sample-cooking/website の形になります。Projectを作れるのはWorkspaceの管理者だけです。非公開のProjectには非公開のリポジトリしか入れられません。

Bitbucketの入れ物がWorkspace、Project、Repositoryの3段で、URLに入るのはWorkspaceだと示す図
Bitbucketの入れ物がWorkspace、Project、Repositoryの3段で、URLに入るのはWorkspaceだと示す図

アカウントはAtlassianのアカウントです。料金ページの入口から作り、続けてWorkspaceを作ります。

リポジトリを作る

  1. 「Create」を押す
  2. 「Repository」を選ぶ
  3. 「Workspace」で sample-cooking を選ぶ
  4. 「Project」でProjectを選ぶ。まだなければ一番下の「Create new project」を選ぶ
  5. 「Repository name」に website と入れる
  6. 「Private」のままにする
  7. 手元にファイルがあるので「Include a README?」は「No」にする
  8. 「Version control system」は「Git」のままにする
  9. 「Create」を押す
Bitbucketでリポジトリを作る入力欄と、上から順に入れる項目の並び
Bitbucketでリポジトリを作る入力欄と、上から順に入れる項目の並び

API tokenを作る

トークンは、パスワードの代わりにプログラムやGitが使う文字列です。Bitbucketへのアクセスに使うのは API token です。

App passwordという以前の仕組みを案内している記事がまだ多くありますが、新しく作れなくなっていて、既存のものも2026年7月28日を過ぎて動かなくなりました。API tokenはWebのログインには使えません。Gitと、外部のツールとの連携のためのものです。

  1. 右上のプロフィールの画像を押す
  2. 「Account settings」を押す
  3. 「Security」タブを開く
  4. 「Create and manage API tokens」を押す
  5. 「Create API token with scopes」を押す
  6. 名前と期限を入れる
  7. 「Next」を押す
  8. アプリで「Bitbucket」を選ぶ
  9. 「Next」を押す
  10. 権限(スコープ)で read:repository:bitbucket と write:repository:bitbucket を選ぶ
  11. 「Next」を押す
  12. 「Create token」を押す
  13. 表示された xxxxxxxx をパスワード管理ツールに保管する

トークンが画面に出るのはこの1回だけです。権限を選ばないとGitの操作には使えません。読むだけなら read:repository:bitbucket だけで足ります。

pushする

手元の website を送ります。送り先の形は公式のとおり https://ユーザー名@bitbucket.org/Workspace/リポジトリ.git です。ユーザー名は、Bitbucketのプロフィールの設定に出ている値で、大文字と小文字も区別されます。

$ git remote add origin https://ユーザー名@bitbucket.org/sample-cooking/website.git
$ git push -u origin main

パスワードを聞かれたら、API tokenを貼ります。本物のBitbucketには送っていないので、手元の練習用の送り先を相手に動かした表示を載せます。実際のBitbucketなら To の行がBitbucketのアドレスになります。

$ git push -u origin main
To ../remote/website.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

トークンをURLに書き込む方法もありますが、公式は平文で残さないよう求めています。上の形で、聞かれたときに入れます。

SSHの接続先が変わる

SSHはパスワードの代わりに鍵で接続する方法です。これを使っているなら、接続先の変更に注意が要ります。Bitbucketは bitbucket.org をHTTPSだけにして、SSHを ssh.bitbucket.org に分けます。告知で案内されている日は、2026年11月12日から一時的に止める試験が始まり、最終は2026年12月10日です。HTTPSの接続は影響を受けません。

手元の設定はこう直します。アドレスの変更だけを手元で動かして確かめました。

$ git remote set-url origin git@ssh.bitbucket.org:sample-cooking/website.git
$ git remote -v
origin	git@ssh.bitbucket.org:sample-cooking/website.git (fetch)
origin	git@ssh.bitbucket.org:sample-cooking/website.git (push)

公式の接続先の変更のページには、古い git@bitbucket.org の例が残っています。新しい形はAtlassianのお知らせのほうが正です。

プルリクエストを出す

枝(ブランチ)を切るところまではGitHubと同じです。

$ git switch -c fix-menu-price
Switched to a new branch 'fix-menu-price'
$ git add menu.html
$ git commit -m "料金表を修正"
[fix-menu-price 01776d3] 料金表を修正
 1 file changed, 1 insertion(+), 1 deletion(-)
$ git push -u origin fix-menu-price
To ../remote/website.git
 * [new branch]      fix-menu-price -> fix-menu-price
branch 'fix-menu-price' set up to track 'origin/fix-menu-price'.

続きは画面です。

  1. リポジトリを開く
  2. 「Create」を押す
  3. 「Pull request」を選ぶ
  4. 題名と説明を書く
  5. 右の「Details」の「Add reviewer」で外注エンジニアBを選ぶ
  6. 「Create pull request」を押す

レビュアーに指定するには、その人にリポジトリの権限が要ります。承認がついたら「Merge」で合流します。承認がないと合流できないようにする強制のチェックはPremiumの機能です。枝ごとに書ける人を絞る branch permissions もありますが、Freeで使えるかは公式のページに書かれていません。頼りにするなら、作ってから画面で確かめます。

Pipelinesの最小の例

Bitbucket Pipelinesは、変更が届くたびに処理を自動で動かす、Bitbucketに組み込みのCI/CD(変更のたびに確認や公開を自動で回す仕組み)です。設定はリポジトリの直下の bitbucket-pipelines.yml に書きます。無料分はFreeで月50分です。

menu.html に「円」の文字があるか確かめる例です。公式の設定リファレンスの書式で書きました。Bitbucketの上では実行していません。grep の行だけを手元で動かして、文字があれば0が返ることを確かめています。

pipelines:
  default:
    - step:
        name: Check menu
        script:
          - grep -q "円" menu.html
行意味
pipelines:ここから処理の定義
default:個別の指定がない枝へのpushで動く。タグのpushでは動かない
step:処理のひとまとまり
name:画面とログに出る名前
script:順に実行するコマンド

動かす環境の image: を書かないと、公式の atlassian/default-image:latest が使われます。1つのステップは既定で120分まで動きます。画面から置くなら次の順です。

  1. リポジトリを開く
  2. 左の「Pipelines」を押す
  3. 「Create your first pipeline」を押す
  4. テンプレートを選ぶ。迷ったら「RECOMMENDED」の印のもの
  5. 開いた編集の画面に上の内容を書く
リポジトリの左のPipelinesから、最初のパイプラインを作る画面と実行の一覧の位置
リポジトリの左のPipelinesから、最初のパイプラインを作る画面と実行の一覧の位置

GitHubから移す

公式のインポート機能があります。

  1. 「Create」を押す
  2. 「Repository」を選ぶ
  3. 「Import repository」を選ぶ
  4. GitHubのリポジトリのURLを入れる
  5. 「Workspace」と「Project」を選ぶ
  6. 「Name」に website と入れる
  7. 「This is a private repository」にチェックが入っているか確かめる
  8. 「Import repository」を押す

GitHubとGitLabからの取り込みには、personal access tokenが要ります。

公式の説明は「the importer simply creates a clone of the repository」です。つまり移るのはGitの履歴です。Issueとプルリクエストが移るとはどこにも書かれていません。Bitbucket側に自前のIssueがないので、受け皿もありません。残したいIssueは先に書き出すか、Jiraへ移す段取りを別に組みます。

Gitの履歴を自分で移すなら、手元の2つのフォルダを見立てて試した次の形でも同じです。

$ git clone --mirror remote/website.git mirror.git
Cloning into bare repository 'mirror.git'...
done.

$ git push --mirror ../github-side/website.git
To ../github-side/website.git
 * [new branch]      fix-menu-price -> fix-menu-price
 * [new branch]      main -> main

2つ目のコマンドは mirror.git の中で打ちます。送り先は空の新しいリポジトリにします。--mirror は送り先を丸ごと合わせるので、既存のリポジトリに送ると、手元に無い枝は消えます。

区分内容
移るGitの履歴、枝、タグ
公式に移ると書かれていないIssue、プルリクエストとそのコメント
書き直しが要るGitHub Actionsの設定。Pipelinesは bitbucket-pipelines.yml だけを見る
入れ直しが要る共同作業者の招待、APIキーなどの秘密の値、外部サービスの連携
GitHubからBitbucketへ移すとき、そのまま移るもの・入れ直すもの・移ると書かれていないものの区分
GitHubからBitbucketへ移すとき、そのまま移るもの・入れ直すもの・移ると書かれていないものの区分

迷ったときの判断の順番

上から順に見て、当てはまったところで決めます。

  1. 取引先がどれかを指定しているか。指定があればそれに合わせる
  2. 社外にコードを置けない規定があるか。あれば運用する人を決めたうえで、自社サーバーの形を比べる
  3. すでにJiraやConfluenceを毎日使っているか。使っていればBitbucketを第一候補にする
  4. 自動処理を無料でよく動かすか、人数が増えそうか。そうならGitHub Free
  5. どれにも当てはまらなければGitHub Free

サンプル料理教室はGitHub Freeのままです。JiraもConfluenceも使っておらず、外注エンジニアBの制作会社もGitHubで動いているので、移す理由がありません。もし親会社がJiraに揃えることになれば、そのときに3番から考え直します。

できないことと、その代わり

できないことその代わり
Bitbucketの中でIssueを管理するJiraを使う。使わないならスプレッドシートなど別の場所で
Bitbucketの中でWikiを書くConfluenceを使う。手順書だけならREADMEでも足りる
App passwordで接続するAPI tokenを作り直す
Freeで6人以上を入れるStandard以上にする。人数が多いならGitHub Freeも候補
Freeで合流前のチェックを強制する代表が確かめてからBが合流する、と決めて運用する

よく詰まるところ

症状原因直し方
git push で認証に失敗するApp passwordを使っている。または権限なしのトークンAPI tokenを作り直し、読み書きの権限を選ぶ
公式の手順に「app password」と書いてある古い説明が残っているページがあるAPI tokenに読み替える
API tokenでWebにログインできないGitと連携のためのもので、ログインには使えないAtlassianのアカウントでログインする
ユーザー名が合っているのに認証で落ちるユーザー名の大文字と小文字が違うプロフィールの設定の値をそのまま使う
SSHが急につながらない時間があるbitbucket.org のSSHを止める試験の時間に当たったgit remote set-url で ssh.bitbucket.org に直す
自動処理が月の途中で止まったFreeの月50分を使い切った回数を減らす、1,000分を足す、プランを上げる
Pipelinesが動かないファイルの名前か場所が違う。枝やタグを一度に6つ以上送った直下の bitbucket-pipelines.yml を確かめる。送る数を分ける
Issueのタブが見当たらない自前のIssueは廃止された連携したJiraで管理する

次に読む

GitHubとGitLabの2社を詳しく比べるなら「GitHubとGitLabの違い:料金・機能・自社サーバーで比べる選び方」、GitLabを実際に触るなら「GitLabの使い方:無料の範囲、CI/CD、GitHubからの移行」です。GitHubのプランは「GitHubの料金:Free・Team・Enterpriseと無料でできる範囲」に、差分の見方や確認の進め方は「プルリクエストとは:作り方・レビュー・マージの流れ」に書きました。

あわせて読む