目的はソースコードのバージョン管理ではなく、各部門のdocx,xlsx等のドキュメントのバージョン管理です。
仕事柄、各部門(多数)のマニュアルの変更が頻繁にあります。またこれらのマニュアルは監査等で第三者機関からチェックされるので、きちんと管理されるべきですが、現状きちんと管理されているとはいえません。
そこでバージョン管理システムの導入を考えています。
かといって私はまだgitに関する全体像を把握できていないため、このような場合にどんな環境構築を採用すべきかなどがよくわからない状態です。
求められる条件は下記のような感じだと思います。
・クライアント環境はWindows7
・gitサーバはWindows7あたりで(予備機が余っているので)
・社内のイントラネット環境
・誰にでもできるようにGUI操作でクローン、コミット、プッシュ等ができるように
・対象ファイルはdocx、xlsxなどのドキュメント系
・マージ機能は視野にいれていない、とりあえずバージョンの管理さえできたらいい
(つづきは補足に書きます)
そもそもの問題として、バイナリファイルをgitで扱うことはお勧めできません。mergeができないので確実に同時には一人しか編集しないことや、つねに最新の版が手元にあることを確認した上で編集することなどのルールを決めないと運用は難しいと思います。そういった状況であればよりシンプルなsubversionなど別の版管理ソフトを使うことを検討してみてもいいかもしれません。
gitのサーバの構築の方法についてですが、最初に構築する手間と追加で付いている機能(ブラウザからベアリポジトリを作れたりwikiがついていたりブラウザから版を見れたりします)が変わります。リポジトリは滅多に作らずpush,pull以外の機能を求めないのであればどの方法でも難易度はさほど変わらないと思います。Linux以外で構築したことはないので具体的におすすめできる方法はないです。
ちなみに、git未経験の私が試したことは下記です。
(1)「サルでもわかるgit入門」を一通り経験(ttp://www.backlog.jp/git-guide/)
(2)ttp://d.hatena.ne.jp/MoonMtLab/20140314/1394807213
このサイトのとおりにWindowsPCをGitのリモートリポジトリとして使用する手順を踏んでみた。
①クライアント:Git for Windwos + Tortoisegit環境
②サーバ:Git for Windows + Tortoisegit環境でベアリポジトリを作成し、リモートリポジトリとして公開(daemon起動)
③クライアントへのクローンは成功するも(git://プロトコルで)、クライアントからリモートへプッシュができない(git://プロトコルで)。サーバ側では「write error:Invalid argument」が出ている。
④原因調査で詰む。他の方法が目についてそちらが気になりだす。(「社内LANでgitサーバ構築するにはGitblitが簡単」「GitBucketが便利」などの魅力的な記事多数)
まだまだ調査不足の段階だとはわかっていますが、どのような方法をおすすめしますか?
また、リモートリポジトリを作成する時点でサーバの役割は果たしていると思うのですが、「Gitblit」などでサーバ構築(?)する理由はどんなところですか?
長くなりましたが宜しくおねがいします。
Gitのお薦め設定ではバイナリファイルが壊れる可能性がありますし、ロック機能が無いので同時に編集してしまうリスクがあるので、Subversionの方が良いと思うのですが。
①クライアント:Git for Windows + Tortoisegit環境
②共有フォルダ上にbareリポジトリ.gitリポジトリを作成
③共有フォルダからリポジトリをクローンする
④クローンしてきたフォルダでファイルを置き コミット
⑤Push先はリ共有フォルダ上になっているはずなので、やり取りできる。
誰かがコミットし忘れたりするといろいろ大変になりますが。管理できますよ。