GitHubのプライベートリポジトリに移行した話
新年そうそうビッグニュースが流れてきました。
GitHubがプライベートリポジトリをタダで使わせてくれるってよ!
これまで
これまではパブリックなリポジトリはGitHubにおいて、プライベートなリポジトリは自宅のKubernetes上にGitBucketを立てて、そこに置いていました。
なんでそんな運用にしていたのか?
Gitを使っているとなんでもGit管理したくなってきました。しかし、パブリックにおいても良いデータはGitHubで問題ありませんでしたが、どうしてもパグリックにしたくないデータもGit管理しようとすると困りました。GitHubは当時プライベートリポジトリを使うために月$7も必要だったのです。払えないわけではないですが、流石にちょっとしたデータを管理するためには高すぎるなぁと感じて躊躇していました。それではGitLab等のプライベートリポジトリが無料で使える所にしようかとも考えましたが、さすがにパブリックなリポジトリをGitLabに移行すると色々とリンクが切れて面倒なので諦めました。
それではプライベートなリポジトリだけGitLab管理にすればいいかというと.gitconfigに登録してあるメールアドレスの切り替えが面倒でした。GitHub上に公開しているコミットログに実運用しているメールアドレスを残すのは嫌だったのでGitHubのnoreplyメールアドレス(1696779+hinastory@users.noreply.github.com
)を設定していましたが、それをGitLabではそれを切り替える必要があります^1。最初はローカルのgitconfigで対応しようとしましたがリポジトリ毎に設定しければならず面倒すぎました。
そして結局、自宅にGitBucketを立てて運用するに至ったわけで、自宅のファイル管理の大体のニーズは満たせました。しかし、それでもやっぱりプライベートでリポジトリを作成して落ち着いてからパブリックにしたいとかはやりたいわけです。そんなこと考えながらここ数年もやもやしていましたが、ここに来てやっと素晴らしいニュースに巡り会いました。
現在
GitBucketにあったリポジトリを全てGitHubのプライベートリポジトリに移行しました^2。
移行方法
移行については簡単で、GitHubの画面右上の+
ボタンからNew Repository
を選択するとリポジトリの作成画面が表示されます。そしてその画面でPrivate
を選択します。このときInitialize this repository with a README
を選択しないでください。これを選択すると既存のレポジトリのpushができなくなります。
上記の画面でCreate repository
を実行すると以下の画面が表示されるので、あとは既存のリポジトリ上で赤枠で囲った手順を実行するだけで移行は完了です。
注意点
一応注意点を上げるとすれば、プライベートなデータを上げる場合、最低限2段階認証は有効にしておくべきです^3。2段階認証用のアプリには自分はGoogle Authenticatorを利用しています。あとFreeプランでは「Protected branches」、「Code ownedrs」、「Pages and wikis」、「Repository insights」の機能がプライベートリポジトリで使えません。プライベートリポジトリのコラボレータも3名までとなっています^4。これらが使いたくなったら素直にProプランに移行すべきですね。
まとめ
Freeプランでプライベートリポジトリが使えるようになり、GitHubにリポジトリを統一できて幸せになれました。Gitbucketからの移行も元がGitなので非常に楽です。GitHubがMicrosoftに買収されたときはどうなることやらと思いましたが、この決断はGood Jobと言わざるを得ません。恐らくGitLabへの対抗処置だとは思いますが、今後も競い合ってより良いサービスになってくれることを願って止みません^5。