質問: ファイルサーバ上の共有フォルダ(cifs)で複数人でgitを使うことを画策していますが、どんな問題があるでしょうか。経験に基づくエピソードを教えて下さい。 ユーザ企業システム部門に支援で参画しています。 ファイルサーバの中身が混迷を極めています。ファイル名に日付や_r1やFinalのようなオマケをつけていたり、前世代をとりあえずoldに放り込んだり、Excelファイルを複製して各自で編集したものを若手が頑張って統合していたり、といった状態です。扱うファイル形式は xlsxやdocxが中心です。 Subversionの経験があるメンバもいますがマイノリティにとどまっています。混迷を打開するためにTortoiseGitの導入を画策しています。 共有フォルダをremoteとするのはちょっと教育コストが高そうなので、まずは共有フォルダ自体を単一のローカルリポジトリとして扱い、まずは add, commit から始めるのがいいかしらと考えているところです。
回答: 表題の「共有フォルダでgitを使えるか」については、使えません(そのような利用方法は想定されていません)。 以下のページ前半部分「(非推奨)ノンベアリポジトリのみで管理」も参考になるかと思いますが、non-bareリポジトリは同時に1ユーザのみが操作することしか想定されていません。 * ベアリポジトリとノンベアリポジトリ:理論編〜GitでWordpressのテーマを管理 - トリコロールな猫 以下質問の本題からは外れますが、誤解があるようなので説明を記載します。 そもそもgitやsvnといったバージョン管理システム(以下、VCS)のメリットの1つとして、ファイルの実体を共有せずとも複数人で協調作業が行える、というものがあります。 そのメリットをスポイルするのであれば、VCS導入のメリットが薄くなります。 共有ディレクトリ上で運用するのが最善策であると考えられているのであれば、**導入すべきはVCSではなく世代管理可能なバックアップシステム**ではないでしょうか。 (共有ディレクトリ運用を止め)VCSを導入する場合においても、Excelファイルのようにマージ不可能なファイルをバージョン管理したい、そしてVCSに不慣れなエンドユーザがいるのであれば、以下の理由でgitよりsvnが向いていると考えます。 * (TortoiseSVNを導入すれば)gitよりWindowsフレンドリーである * Excel差分表示ツールなども標準でインストールされる * VCSがファイルロックをサポートしているので同時編集による競合を防げる 更に話は逸れますが、 > > Subversionではご指摘の面倒さ(ファイル名変更を追跡できないなど)があり > > > とありますが、ファイル名変更を追跡できるのはsvnです。 gitが行っているのは(tanagaさんが書かれているhgと同じく)ファイル名変更の推測です。