取引先のエンジニアから「ソースはBitbucketにあります」と言われて、GitHubとの違いが分からないまま招待を受けることがあります。BitbucketはGitの履歴を預かるサービスで、手元で打つコマンドはGitHubと同じです。違うのは料金と無料の枠、そしてJiraとのつながりです。読み終わると、3社の違いを説明でき、自社がBitbucketを選ぶべきかどうかを決められます。
この記事の内容
先に答えると
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の製品を使う会社のコードの置き場所、と考えると整理しやすいです。

3社の比較
値は公式のページで確かめたもので、2026年11月時点です。GitLabは断りがなければ GitLab.com の値です。
| 比べるところ | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| 運営 | GitHub(Microsoft傘下) | GitLab Inc. | Atlassian |
| 料金(1ユーザー月) | Free $0、Team $4、Enterprise $21 | Free $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 Server | Self-Managed | Bitbucket Data Center |
| 変更の確認の呼び名 | Pull request | Merge request | Pull request |
| 自動処理の設定ファイル | .github/workflows の中 | .gitlab-ci.yml | bitbucket-pipelines.yml |
| やることの管理 | GitHub Issues | GitLab 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の管理者の権限で作業します。
- 右上のプロフィールの画像を押す
- 「Recent workspaces」から
sample-cookingを選ぶ - 上のバーの設定の歯車「Settings」を押す
- 「Workspace settings」を選ぶ
- 「Atlassian Integrations」の下の「Jira」を選ぶ
- つなぐJiraを選び、「Connect」を押す
- 確認の画面で「Grant access」を押す
- 次の確認の画面でも「Grant access」を押す
- リポジトリを自動で同期するか、Smart Commitsを使うかの選択画面が出る。初期値は両方オンで、そのままでよい
- 「OK」を押す
最初の手順
Workspace、Project、Repositoryの関係
Bitbucketには入れ物が3段あります。
| 段 | 何か | サンプル料理教室なら |
|---|---|---|
| Workspace | リポジトリを作って共同作業する一番上の場所。URLに入る | sample-cooking |
| Project | Workspaceの中でリポジトリをまとめる単位。権限の設定にも使う | ホームページと予約メール |
| Repository | ファイルと履歴の置き場 | website、reservation-mail |
GitHubのOrganizationに当たるのがWorkspaceです。リポジトリのURLは bitbucket.org/sample-cooking/website の形になります。Projectを作れるのはWorkspaceの管理者だけです。非公開のProjectには非公開のリポジトリしか入れられません。

アカウントはAtlassianのアカウントです。料金ページの入口から作り、続けてWorkspaceを作ります。
リポジトリを作る
- 「Create」を押す
- 「Repository」を選ぶ
- 「Workspace」で
sample-cookingを選ぶ - 「Project」でProjectを選ぶ。まだなければ一番下の「Create new project」を選ぶ
- 「Repository name」に
websiteと入れる - 「Private」のままにする
- 手元にファイルがあるので「Include a README?」は「No」にする
- 「Version control system」は「Git」のままにする
- 「Create」を押す

API tokenを作る
トークンは、パスワードの代わりにプログラムやGitが使う文字列です。Bitbucketへのアクセスに使うのは API token です。
App passwordという以前の仕組みを案内している記事がまだ多くありますが、新しく作れなくなっていて、既存のものも2026年7月28日を過ぎて動かなくなりました。API tokenはWebのログインには使えません。Gitと、外部のツールとの連携のためのものです。
- 右上のプロフィールの画像を押す
- 「Account settings」を押す
- 「Security」タブを開く
- 「Create and manage API tokens」を押す
- 「Create API token with scopes」を押す
- 名前と期限を入れる
- 「Next」を押す
- アプリで「Bitbucket」を選ぶ
- 「Next」を押す
- 権限(スコープ)で
read:repository:bitbucketとwrite:repository:bitbucketを選ぶ - 「Next」を押す
- 「Create token」を押す
- 表示された
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'.
続きは画面です。
- リポジトリを開く
- 「Create」を押す
- 「Pull request」を選ぶ
- 題名と説明を書く
- 右の「Details」の「Add reviewer」で外注エンジニアBを選ぶ
- 「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分まで動きます。画面から置くなら次の順です。
- リポジトリを開く
- 左の「Pipelines」を押す
- 「Create your first pipeline」を押す
- テンプレートを選ぶ。迷ったら「RECOMMENDED」の印のもの
- 開いた編集の画面に上の内容を書く

GitHubから移す
公式のインポート機能があります。
- 「Create」を押す
- 「Repository」を選ぶ
- 「Import repository」を選ぶ
- GitHubのリポジトリのURLを入れる
- 「Workspace」と「Project」を選ぶ
- 「Name」に
websiteと入れる - 「This is a private repository」にチェックが入っているか確かめる
- 「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キーなどの秘密の値、外部サービスの連携 |

迷ったときの判断の順番
上から順に見て、当てはまったところで決めます。
- 取引先がどれかを指定しているか。指定があればそれに合わせる
- 社外にコードを置けない規定があるか。あれば運用する人を決めたうえで、自社サーバーの形を比べる
- すでにJiraやConfluenceを毎日使っているか。使っていればBitbucketを第一候補にする
- 自動処理を無料でよく動かすか、人数が増えそうか。そうならGitHub Free
- どれにも当てはまらなければ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と無料でできる範囲」に、差分の見方や確認の進め方は「プルリクエストとは:作り方・レビュー・マージの流れ」に書きました。