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/
おわりに
参考ページです。ありがとう存じます!やっぱりコマンドで詰まってしまいますの♪
以上です。