Git で自分のサーバー上にリモートレポジトリを作る方法

Git で自分のサーバー上にリモートレポジトリを作る方法

サーバーにリモートレポジトリを作成する

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 をインストールしている必要があるようです。

以上。

Gitカテゴリの最新記事