以前本ブログのホスティングサービスをさくらのVPSからエックスサーバーのレンタルサーバーへ切り替えたことを記事にしました。
その中でも述べていますが、VPSではgitのプライベートリポジトリをホスティングさせていました。
gitのリポジトリって自分でホスティングできるの?っていう方も中にはいるかも知れませんが、もちろんできます。githubやbitbucketなどのサービスはgitをラッピングして提供しているだけでもともとgitの仕組みはリポジトリを分散管理できるように設計されています。
私自身は個人で仕事することが多いので誰かと別ブランチで作業してプルリクエストを送って、などなどの開発フローがなかったのでgitをセルフホスティングすれば十分という理由からこういった形態をとっていました。開発のためのgitというよりかは単純にリモートバックアップ的な側面が強いです。
そのgitの使い方どうなの?っていうのはおいておきまして、レンタルサーバへ移行した際にこのgitリポジトリをどうしようかなと考えていたのですが、よくよく考えるとこのgitリポジトリに関してもレンタルサーバへ移行できるじゃないかということに気づき移行してみた話になります。
まずはsshの設定を行う
エックスサーバー上でsshを使うにあたっての設定に関しては 公式マニュアル を参考にしてください。ここでは説明する必要もないので割愛します。
gitはそのリポジトリのスキームとしてsshを用いて定義することができます。ですのでssh接続ができる環境があればリモートリポジトリを設置することが可能です。早速設定してみましょう。
サーバ側設定
まず適当にsshログインしましょう。ログイン後にgitリポジトリを作成したいリポジトリを作成します。ディレクトリ名は何でも構いません。さらにその後 git init –bare コマンドを用いてリモートリポジトリを作成します。
例えばホスト名 remote-host に接続して /tmp/git にリモートリポジトリを作成するときは下記のようになります。
ssh remote-host ... mkdir /tmp/git-remote cd /tmp/git-remote git init --bare
これだけです。
ローカル端末から接続
これであとはローカル端末からリモートリポジトリの設定を行えばOKです。
例えば /tmp/git-local にローカルの開発リポジトリを作成するとした際には下記のようにします。
mkdir /tmp/git-local cd /tmp/git-local git init git remote set-url origin ssh://remote-host:/tmp/git-remote
みたいな形です。あとは通常通りpushやpullが行えるようになります。
チーム開発ではリッチなユーザインタフェースがあるgitホスティングサービスの方が重宝しますが、単独開発でわざわざプライベートリポジトリをお金を払ってまで用意する必要がないかなという方にはおすすめします。
無料でホスティングしてくれるサービスもありますが、ただより高いものはないといいますか。いろいろな制限もありますし、そもそもソースコード情報をプライベートリポジトリとはいえアップロードすること自体に抵抗があったりする今日このごろ。
コメントを残す