gitのリモートリポジトリを変更した
以前のエントリで設定した自動プッシュプル運用のgitリモートリポジトリを別のクラウドに移動した.
理由は単に無料のOneDriveが容量不足になってきたから.
ちなみに移動先の候補としては,
- Dropbox(無料版): 合計容量不足
- box sync(無料版): 単一ファイルのサイズ制限が小さすぎる (<250MB)
- iCloud Drive(50GBプラン): 未検討(微妙そう)
- Google Drive: 未検討(こっちに移動するかも)
で,結局職場が提供してくれているOneDrive for Businessにした.理由は容量にかなり余裕がある(1TB中60GBくらいしか使っていない)ため.
なおまったく最善の選択ができていないが,この運用をするにあたって最大限重視すべきなのは,変更してから変更をアップロード開始するまでの時間の短さだと思う(この条件ではOneDriveは最善どころか最悪に近く,経験の限りではDropboxがもっとも優れている).現状,iCloudとGoogle Driveがこの条件でみてどうなのかが十分検討できていない.Google Driveは悪くなさそうだが,iCloudは割と同期のトラブルが多いので,あまり向いていないような気がする.
ただ,ストレージに余裕があればトラックしたいファイルはいろいろあるし,トラックしなくてもまとめて置いておくと楽なものがいろいろあるので,結局はストレージの余裕を優先することになると,iCloudもGoogle Driveも十分な容量というわけにはいかず,それなりに支払うならDropboxがいいような気がするので,これら二つに移行することはないかもしれない.なんにせよリモートの移動自体は以下に示すようにかなり簡単なので,気軽にいろいろ試してもいいように思う.
ちなみにiCloudの50GBプランは1ドル/月なので,これくらいなら特に躊躇はないのと,はるか昔にPDFへのアノテーションを共有するためにiPadにインストールしたアプリではiCloudが最も使いやすかったので,容量を拡張してかたっぱしからPDFを突っ込んでいる.このアプリは開発を終了してしまったようだし,もう何年も経つので状況も変わっているだろうから,この条件を優先する理由はもうないのかもしれない.
移動の方法
やることは大きく分けて,新しいリモートを作ってそちらにプッシュするのと,他のデバイスで新しいリモートにプッシュプルする設定をするのがある.
新しいリモートを作って内容をコピーする
まずターミナルでローカルリポジトリに移動し,現在のリモートを確認.
cd path/to/local git remote -v # origin localhost:path/to/remote/remote.git (fetch) # origin localhost:path/to/remote/remote.git (push)
必要ならローカルの状態を最新にする
git pull origin master
ローカルからリモートの情報を削除(リモート自体の削除ではない)
git remote remove origin
新しいリモートを作る
cd path/to/new/remote mkdir remote.git cd remote.git git --bare init --share
このときクラウドフォルダではなくサーバ上に作るのであれば,sshでログインして同様にする.
またGithubなどのgitサービスならこのプロセスは不要.
新しいリモート(まだ空)にローカルをプッシュ
cd path/to/local git remote add origin localhost:path/to/new/remote git push origin master