ユースケース
Git を使ったチーム開発では P2P のソース共有ではなく、どこかに中央リポジトリを置いて運用していると思います。ネットで情報を探すと SSH サーバを立てて運用するサンプルがたくさん見つかります。git clone --bare --shared 云々です。
セキュリティ的にそれが理想ですし、さほど手間ではないというのも間違いない。
しかし環境的にそうしたことが許されなかったり、ごく小規模なチームでライトな運用をしたいという要件もあるでしょう。ファイルサーバ上の共有フォルダにベアリポジトリを置き、それを中央リポジトリと見立てて運用をしたい場合です。
この場合、git clone --bare --shared ... だと上手くいきません(でした)。以前調べた際にまとまった手順のサンプルを見かけなかったので上手くいった方法を記しておきます。
手順
手順の大枠を書くと、一旦共有フォルダに空のベアリポジトリを作成し、そこに向かって開発したソースを push します。
共有フォルダに移動する
cd //sharedComputer/sharedFolder/
空のベアリポジトリを作る
mkdir my_project.git
cd my_project.git
git init --bare --shared=true
touch git-daemon-export-ok
ローカルに移動する
cd ~/path/to/local/git/workspace/my_project/
リモートを設定する
git remote add origin //sharedComputer/sharedFolder/my_project.git
git push --set-upstream origin master
必要なブランチを push する
git push origin master
git push origin development