WindowsでGitプロトコルを使用しないでリモートリポジトリを使用する方法
現在、Windowsを使用してGitプロトコルにてリポジトリを公開してもpushに失敗するという問題があります。
ソースはググれば色々出てくるので割愛しますが、Windowsのみでネットワークを組んでいる(組まざる得ない)と不便で極まりない問題です。
ローカルのみで差分管理している分には問題ありませんが、やはり色々な意味で分散開発できてこそのGitなのでリモート(本当の意味でマスター)監理したいものです。
このの問題に対して以下の方法で擬似的に、クライアントへPush可能なリモートリポジトリを登録可能になるのでメモ程度に記録しておきます。
★サーバーとなる側でのやること★
①.(集中管理する)Windowsマシンでbareリポジトリを生成する。(msysgitなどを使用すれば簡単に生成できますね)
例えば。。。
\repos\aaa.git
\bbb.git
のようなフォルダ構成なら\reposを共有する。
②.①で生成したリポジトリフォルダを共有する。(read/write可能にすることを忘れずに)
★クライアントとなる側でやること★
①.上で共有したフォルダをネットワークドライブ設定する(例えば。。。Z:)
②.クライアントでリモートのURL指定へ上記フォルダ名を指定する。(例えば。。。Z:\aaa.git)
これで、Gitプロトコルを使用せずにリモートでのリポジトリ管理が可能になります。
要は、GitプロトコルではなくCIFSプロトコルを使いましょうってお話です。従って、ネットワークドライブ等、少し冗長なところもあるのでその辺は工夫可能ですかね!