GitHub といったホスティングサービスや、自由に使える Linux サーバーが無い、そんな環境に遭遇いたしました。
この場合当然、便利なリモートリポジトリが使えません><。
ただし、リモートリポジトリ自体が使えないかと言われれば、まだ可能性はございます。
ファイルサーバがあれば、これをリモートリポジトリとして使用することが可能ですの!
今回、既存のローカルリポジトリからリモートリポジトリを立て、他のメンバーに使ってもらうところまでのやり方をノートいたします♪
git コマンドまとめ
# ローカルリポジトリから bare リポジトリを作成 # .git ディレクトリの1つ上のディレクトリに移動して実行すること git clone --bare <local> <bare>.git # origin という名前でリモートリポジトリを登録 git remote add origin <remote_repository_url> # リモートリポジトリの内容を確認 git remote show origin # リモートリポジトリを取得 git clone <remote_repository_url>
作業前の状況・計画
- 既存のローカルリポジトリ: www
- 作成するリモートリポジトリ: sample.git
ローカルリポジトリから bare リモートリポジトリを作る
$ # .git ディレクトリの1つ上のディレクトリに移動して、次の操作で bare リポジトリを作成 $ git clone --bare www sample.git Cloning into bare repository 'sample.git'... done. $
bare リポジトリ sample.git が作成されたので、これをファイルサーバへ移動いたしました。
このとき、次のように考えました。
- bare リポジトリを置くディレクトリ規則: git/sample.git
- 実際に置いた場所: //172.17.0.111/git/sample.git
ローカルリポジトリと bare リモートリポジトリをつなぐ
$ # ローカル作業ディレクトリへ移動
$ cd www/
$
$ # origin という名前でリモートリポジトリを登録
$ git remote add origin //172.17.0.111/git/sample.git
$ # リモートリポジトリの内容を確認
$ git remote show origin
* remote origin
Fetch URL: //172.17.0.111/git/sample.git
Push URL: //172.17.0.111/git/sample.git
HEAD branch: master
Remote branch:
master new (next fetch will store in remotes/origin)
Local ref configured for 'git push':
master pushes to master (up to date)
$
別のメンバーに、ローカルリポジトリから登録した bare リモートリポジトリを使ってもらう
別メンバーの PC の、ウェブサーバードキュメントルートディレクトリの1つ上のディレクトリで作業を行います。
$ git clone //172.17.0.111/git/sample.git Cloning into 'sample'... done. Checking out files: 100% (951/951), done. $ # sample というディレクトリ名だと動かないため変更する。 $ # git clone したときのディレクトリ名は変更しても Git のバージョン管理には問題無し。 $ mv sample/ www/
おわりに
参考ページです。ありがとう存じます!やっぱりコマンドで詰まってしまいますの♪
以上です。
