サーバーにリモートレポジトリを作成する
GitHub や Bitbucket のような Git のホスティングサービスを使わずに、自分でサーバー上にレポジトリを作成して利用する方法をまとめます。
ローカルネットワーク上のサーバーにレポジトリを作る
ローカルネットワーク上のサーバーやローカルPCにリモートレポジトリを作れます。ローカルにリモートレポジトリを作るメリットは以下の通りです。
- インターネットにつなげなくても運用できる
- 非公開で運用できる
- 認証設定が不要
- 無料無制限でレポジトリが作れる
リモートレポジトリを作成する
クライアント側に Git が入っていれば動きます。
適当なパスに移動して、git init
でレポジトリを作りますが、このとき --bare --shared=true
を指定します。パラメータの意味は以下の通りです。
- –bare:ワーキングディレクトリを持たず、更新情報だけを持つ設定
- –shared:共有可能な権限を設定する
こうすることで複数人で更新可能な Git レポジトリが作成できます。
$ cd c:\foo\bar\remote_repo
$ git init --bare --shared=true
好きなディレクトリにレポジトリを作ります。中身を見てみると作業データは存在せず更新情報を管理するファイルしか作成されません。
上の例では Cドライブ上のディレクトリにレポジトリを作成していますが、共有サーバーなどでも可能です。
ローカルレポジトリを設定する
基本的にはパスの指定で file プロトコルを使えば、認証なしで各種コマンドを実行できます。
リモートレポジトリを設定する
$ cd c:\foo\bar\local_repo
$ git remote add origin file://c:/foo/bar/remote_repo
クローンする
$ cd c:\foo\bar\local_repo
$ git clone file://c:/foo/bar/remote_repo .
リモートレポジトリを設定する方法とクローンする方法です。パス指定を file プロトコルしている以外は普段の使い方と変わりません。
あとはご自由に。
SSH を使って接続する
外部のサーバーにレポジトリを作成する場合は SSH を使って接続します。これであれば外部からでも更新できますね。
$ git remote add origin ssh://[USER]@[IPaddress]/var/git/xxx.git
必要に応じてセキュリティ設定をすればよいです。この場合サーバー側にも Git をインストールしている必要があるようです。
以上。
コメントを書く