1年前くらいまで使っていたGitLabのバックアップファイルに使いたいレポジトリがあるので残しておいたバックアップファイルから取得したレポジトリをGitHubに移動する。
以前はsakuraのベースサーバを借りてGitLabをインストールして使っていたが、1人で使うならGitHubのほうが安いなと思って2年前くらいに移行した記憶がある。その時、GitLabの中には10くらいレポジトリがあったがバックアップを取りGoogleDriveで放置していた。その中のSpringのレポジトリが参照したいのでバックアップから取り出してGitHubに移動させる。
おそらく以下のコマンドで生成されたGitLabのバックアップアーカイブ。
bundle exec rake gitlab:backup:create |
アーカイブを展開
1446231610_gitlab_backup.tarという名前でバックアップが残されていた。
$ mkdir gitlab_backup |
レポジトリを取り出す
.bundleという謎の拡張子が付いている。fileコマンドで調べるとGit bundleというタイプらしい。git bundleコマンドで生成できるファイルでgit pushコマンドで転送される同内容のデータを単一のバイナリファイルにまとめるそうです。
レポジトリの取り出しは.bundleを.gitとしてcloneする。中身を見てもいつものレポジトリっぽくない。もう一度Cloneするといつもの様なファイルが出てくる。それをGitHubにpushすればよい。
$ ls -l repositories/ishiis/ |
おわり。
参考
- http://stackoverflow.com/questions/28838451/restore-gitlab-backup-repository-bundle-file-with-all-branches
- https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E3%83%90%E3%83%B3%E3%83%89%E3%83%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90