GiHubの無料プランでプライベートリポジトリが作成可能になってから、それまでBitbucketに置いてあったリポジトリを、機会があるごとにちまちまとGitHubに引っ越しています。この記事では具体的な引っ越し手順をメモがてら書いてみます。
gitのremote urlを変更する方法(BitbucketからGitHubへの引っ越しを例に)
手順1:新しいリポジトリの作成
GitHubに新しいリポジトリを作ります。こんなURLだとしましょう。
https://github.com/username/repository
Bitbucketの旧リポジトリはこういうURLです。
https://bitbucket.org/username/repository
手順2:手元を確認
確認しなくてもいいですがしておいた方が良いと思います。repositoryのディレクトリに移動してリモートURLを確認します。
$ git remote -v
origin ssh://git@bitbucket.org/username/repository.git (fetch)
origin ssh://git@bitbucket.org/username/repository.git (push)
originのfetchとpushがsshでBitbucketになっていることを確認しました。
手順3:originを変える
git remote set-url [--push] <name> <newurl>
というコマンドを発行します。<name>
には origin
を、<newurl>
にGitHubで新しく作ったリポジトリのURLを入れます。
$ git remote set-url origin git@github.com:username/repository.git
origin git@github.com:username/repository.git (fetch)
origin git@github.com:username/repository.git (push)
URLはSSH形式の場合、リモート URL をリポジトリに変更するを見ると、
git@github.com:username/repository.git
または
ssh://git@github.com/username/repository.git
どちらでも良さそうです。ssh://
をつける場合はドメイン名のうしろがスラッシュになることに注意してください。
手順4:手元を再度確認
$ git remote -v
origin git@github.com:username/repository.git (fetch)
origin git@github.com:username/repository.git (push)
変わってました。
手順5:pushして完了
git push
お疲れさまでした。
手順6:旧リポジトリのアーカイブ
Bitbucketの場合、リポジトリはアーカイブできないので、アーカイブ専用ワークスペースを作成して譲渡するとすっきりして便利です。
BitbucketからGitHubへの引っ越し方法を書いてみましたが、その逆のGitHubからBitbucketも、もちろん別のgitサービスでも上記手順を読み替えたらできます。