前回 QNAP のファイルサーバーで Git リポジトリを扱おうとして、思うようにいかなかったので他の方法を探してみました。
ちなみに、あれから git daemon による git リポジトリを扱う方法もやってみたのですが、Windowsのmsysgitのgitからは、Write Objects の状態から進まずという(フリーズ?)という状態で停止でした。
どうしてもファイルサーバー(NAS)上にリポジトリはおいておきたいので、方法を探した結果、Windowsのファイル共有でリポジトリを置く方法にトライしてみました。
構成
- NASはWindowsファイル共有でリポジトリ用フォルダを公開
- 他のWindows PCは上記のフォルダへアクセス可能。TortoiseGit を使用する
共有フォルダにリポジトリを作成
リポジトリを置く共有フォルダ(NAS上)で、リポジトリのフォルダを作成します。ここでは hello.git フォルダを作成しました。そして、そのフォルダを開いて、右クリックしてここにリポジトリを作成を選び、リポジトリ作成(bare)をします。
リポジトリをクローンする
使用するPCで、上記のリポジトリからクローンします。ここでもまたTortoiseGitを使用しているとして、Gitクローンメニューを選択します。そして、URLでは先ほどの共有リポジトリのWindowsファイルパスを入力します。
例:\\FileServerName\repos_git\hello.git
今は初回のリポジトリ(ベアリポジトリ)のクローンのため、ワーニングが出ますが気にしないでおきます。
共有リポジトリへプッシュ(Push)
クローンしたフォルダで適当にファイルを追加して、Push までを確認してみたいと思います。
そのままPushを実行して問題ないはずです。もし失敗するようであればリモートの確認をしてみて下さい。
宛先のリモートが origin になっていると思いますが、その横の管理ボタンを押して、Git/リモートの項目内で origin を選択してみると情報が表示されます。このとき、URLに指定されているパスが Windowsファイル共有で指定したものと同じになっているかどうかを確認してみてください。またそのパスが有効な物であるか確認してみて下さい。
まとめ
Windowsだけで、しかもローカルで閉じているような環境の場合、このリポジトリ管理が一番楽なのかもという感想になりました。Web等で公開するリポジトリではこれはいけませんが、編集するマシンとしてデスクトップとノートPCがあり、さらにNASも運用している、という自宅環境ではアリな気がしています。