一言で
EMU ↔ 非 EMU は設定変更ではなく、新しい Enterprise への移行。ツールは GEI。
GHES → GHE.com は、止められない repo を ELM(ライブ移行)、残りを GEI で移す。
移行パス早見表 📖 Docs
4 つのケースを列に並べた。+ で見たい項目を開く。
できないこと 📖 Docs
どのケースでも、次の近道は使えない。
| ❌ できないこと | ✅ 代わりに |
|---|---|
| Enterprise の種類(EMU ↔ 非 EMU)をその場で変更 | 新しい Enterprise を作り、GEI で移行 |
| 「Transfer organization」で EMU Enterprise へ/から org を移動 | GEI の migrate-org |
ghe-migrator でクラウドへ移行(GHES → GHES 専用) | GEI か ELM |
| ELM で GitHub.com(データレジデンシーなし)へ移行 | GEI(ELM の移行先は GHE.com のみ) |
| GHE.com → GitHub.com を公式ツールで移行 | GitHub Expert Services |
| GEI の上限を超える repo をそのまま移行 | Git の履歴だけ push、Expert Services、GHES からなら ELM |
GHES → GHE.com:ELM と GEI 📖 Docs
同じ移行の中で併用できる。repo ごとに選ぶ。
| ELM | GEI | |
|---|---|---|
| ⏱️ ダウンタイム | カットオーバーのみ(数分) | 移行中は repo を止める |
| 🎯 向いている repo | 巨大 monorepo、止められない重要 repo | 短い停止を許容できる一般的な repo |
| 🔀 並列数 | GHES 1 台 10 件、移行先 20 件 | ELM より多い |
| 🗂️ Git LFS | 移行される | 移行されない(後から push) |
| 🧩 GHES バージョン | 3.17+ の対応パッチ | 3.4.1+ |
| 💾 中間ストレージ | 不要 | blob storage(GHES 3.8+) |
| 🌐 移行先 | GHE.com のみ | GitHub.com / GHE.com |
⚠️ 移行中は force push しない(ELM が解決できない形で履歴が壊れる)。public repo は GHE.com に置けないので、事前に private / internal へ変更する。
EMU の種類を切り替える手順 📖 Docs
Non-EMU → EMU も EMU → Non-EMU も、流れは同じ。
- 🏢 新しい Enterprise を作る(トライアル可)。既存の Enterprise は変換できない
- 🔐 ID を準備:EMU なら IdP で SAML / OIDC と SCIM、Non-EMU なら各自の個人アカウント
- 🏷️ org 名を決める:github.com の org 名は全体で一意。移行先で別名にするか、移行元を rename して名前を空ける
- 🧪 試行移行 → 本番:GEI の
migrate-orgで試し、本番は作業を止めて実行。ruleset に「Repository migrations」の bypass を追加 - 👤 ユーザーを戻す:mannequin を再割当し、team メンバーを同期。各自 PAT / SSH キーを作り直す
- 💳 請求を切り替える:移行完了後、GitHub の営業と旧 Enterprise の停止を調整