現在の状況としては、対象のリポジトリがAmplify Gen2に連携してデプロイ済みなのですが、そのリポジトリが個人アカウントで管理されています。
やりたいこととしては、これを企業アカウントのリポジトリとして管理できるように移行したいと考えています。
Contents
GitHub リポジトリの引き継ぎ方法の選択肢
- Transfer Repository
- コピー git push –mirror
- フォーク

いずれもの方法でリポジトリを引き継いだとしても、Amplify側で新リポジトリに接続しなおす必要があります
再連携をしない限り移行先のリポジトリからデプロイ(更新の反映)はできません、すでに公開されているアプリはそのまま動き続ける
| コミット履歴 | 個人アカウント側 | |
|---|---|---|
| Transfer Repository | 全て残る | リポジトリは消える 移管先の Organization に自動的に コラボレータ(権限付きメンバー)として追加 される? |
| コピー git push –mirror | 全て残る | |
| フォーク | フォーク元関連が残る? |
Transfer Repository
リポジトリをTransfer
↓
一時的に旧リポジトリは新リポジトリにリダイレクト
↓
そのためAmplify 側で再ビルドした場合、
一時的に新リポジトリを連携していなくてもビルドされる?
↓
新リポジトリで修正し、その内容をもとにプッシュ、ビルドする前にAmplify に連携が必要
GitHub Docs リポジトリを移譲する
https://docs.github.com/ja/repositories/creating-and-managing-repositories/transferring-a-repository
コピー git push –mirror
–mirrorオプションはbare repository(ベアリポジトリ)を使用します
bare repositoryとは通常とは異なり、作業ツリーがないリポジトリ
myproject/
├── .git/ ← Gitの管理情報
├── src/ ← 実際のソースコード
├── index.html
└── ...
myproject.git/ ← 作業ツリーなし
├── HEAD
├── objects/
├── refs/
└── config
なぜbare repositoryをバックアップで使用すべき理由は以下の通りです
- 通常クローンは「開発用に便利な形」に変換される
- bare クローンは「元と全く同じ形」でコピーされる
- バックアップは bare を選べば安全
リポジトリのバックアップ作業
GitHubリポジトリの移行手順と注意点まとめ(2025年版)
https://zenn.dev/arsaga/articles/2b654ebdf82571?utm_source=chatgpt.com#%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E4%BD%9C%E6%A5%AD
手順
# SSHでリポジトリを完全コピー
git clone --mirror git@github.com:USER/REPO.git
GitHub 上で新規リポジトリを作成 REPO-archive
# archiveという名前のリモートを追加
git remote add archive git@github.com:USER/REPO-archive.git
git remote -v
origin git@github.com:USER/REPO.git (fetch)
origin git@github.com:USER/REPO.git (push)
archive git@github.com:USER/REPO-archive.git (fetch)
archive git@github.com:USER/REPO-archive.git (push)# archiveリモートににプッシュ
git push --mirror archive
Organization 管理者の承認
メンバーにリポジトリ移管の受け入れが許可されているか
移管の受け入れ(Transfer の承認)をメンバーに許可しているか?
外部サービスとの連携をしているリポジトリの場合
GitHub Organization 配下のリポジトリは、個人アカウントのリポジトリと違い、
アプリや外部サービスがアクセスする際に Organization 管理者の承認 が必要
Amplify との連携の許可の場合
GitHub 組織設定にてAmplify(GitHub App または OAuth App)の承認がOrganization管理者にて要対応
※AmplifyのGitリポジトリからデプロイする機能使用するため
AWS CLIとは
AWS コマンドラインインターフェイスとは何ですか?
https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html
GitHub Appが原因でエラー
GitHub App の使用について
https://docs.github.com/ja/apps/using-github-apps/about-using-github-apps
AmplifyとGitHubの接続に問題があると下記のようなエラーになったりするようです
“!!! Unable to assume specified IAM Role. Please ensure the selected IAM Role has sufficient permissions and the Trust Relationship is configured correctly.”
そのAmplifyとGitHubの接続に使用しているのが「GitHub App」という仕組みです
GitHub Appの確認方法
個人アカウントの場合
GitHub Settings → Applications → Installed GitHub Apps

Organizationの場合
Organization Settings → GitHub Apps
Organizationには下記のメニューがサイトバーにある?
- GitHub Apps ← ここでインストール済みアプリを管理
- OAuth Apps (OAuth Appsポリシー設定)
GitHub Apps と OAuth アプリの違い
https://docs.github.com/ja/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps
AWSのWebコンソール画面でAmplifyからGitHubへの接続について
GitHub リポジトリへの Amplify アクセスの設定
https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/setting-up-GitHub-access.html
ブラウザで現在ログインしているGitHubアカウントが自動的に使用される?
GitHub AppsとOAuth Appsの違いが分からなかった人のために、日本一わかりやすく説明してみた
https://qiita.com/dowanna6/items/cfe3fc88643d3ef95a37
一番分かりやすい OAuth の説明
https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be