【Git】簡単にローカルのリポジトリを第三者と共有する方法

どうも、TOMOZO(@TOMOZO)です。

個人で作業管理していたGitリポジトリをファイルサーバー等で第三者と共有し、リモートリポジトリにしたい場合があります。
コマンド1つで超簡単に実現できるので紹介します。

スポンサーリンク

前提

例えば、/home/src/localのパスのディレクトリがあって、localフォルダ以下をGit管理しているものとする。
(localフォルダの直下に .git フォルダが存在する状態)

手順

ローカルのリポジトリから bare リポジトリを作成する

bare (ベア)リポジトリはワーキングディレクトリを持たず、更新情報だけを持つリポジトリのことです。
対して non-bare (ノンベア)リポジトリは、更新情報に加えワーキングディレクトリ(つまりファイルそのものが存在するディレクトリ)を持ちます。
セキュリティやリポジトリのサイズの関係上、中央リポジトリは bare リポジトリとするのが通例です。

.git ディレクトリがある1つ上のディレクトリに移動して、次の操作で bare リポジトリを作成します。

$ cd /home/src
$ git clone --bare local bare.git
  • local : 共有したいディレクトリ名
  • bare.git : リポジトリ名(bare リポジトリは .git とする慣習)

bare リポジトリをファイルサーバーに配置する

bare.git をコピーして
//192.168.10.1/git/repo/
に置いたとします。

これだけで、第三者が bare.git をリモートにする環境が整いました!
いつも通りクローンするだけです。

$ git clone //192.168.10.1/git/repo/bare.git
Cloning into 'bare'…
done.
一個手前の手順のベアリポジトリ生成するコマンドで、”bare.git”にはファイルサーバーのパスを指定してもOKです。

ローカルリポジトリとリモートリポジトリを紐付ける

自分のローカルリポジトリがリモートに置いたリポジトリと紐付けられていないので追跡しておきましょう。

$ cd /home/src/local
$ git remote -v
$ git remote add origin //192.168.10.1/git/repo/bare.git
$ git remote -v
origin  //192.168.10.1/git/repo/bare.git (fetch)
origin  //192.168.10.1/git/repo/bare.git (push)

スポンサーリンク