GITのスパースチェックアウトを試してみた

Soucetreeを使ってWindowsとMacで同じリポジトリを使っているのだが、リポジトリを二つに分けて、webとappとして、appにはVB6とC#、.NET系のソースを入れている。

WPFならMacでも良いけど、普通のVB6とかのソースをいちいちプルするのも変な話で、Macはappの中のフォルダーはプルさせないようにスパースチェックアウトと言う設定を入れてMacはWebだけを見られるようにした。

そのうちWPFなんかのアプリを追加したら別途フォルダーを分けてやれば色々と快適な環境を構築出来るはずだ。

webのソースはMacでもWindowsでもどちらでも修正したりするのできっちりと共有させて、appの方は、Macの中のWindows10側で認識させて、こちらではappの中だけプルして、webの中身はプルしない逆の設定にしているわけだ。

コマンドをたたいてやればいいのだが、折角Soucetree使っているのだから、GUI操作でやってみることにした。

まず、GITのconfigファイルはSoucetreeから簡単に開くことができるので開いて

ここに、「sparsechekout=true」と言う行を追加してやる。

そして、プルしたいフォルダーを設定するファイルはsparce-checkout」と言うファイルをinfoフォルダー下に配置してやれば完了する。

「.git」に入ってinfoと言うディレクトリを作成して、その中に先のファイルを設置して中身に「web/」とだけ書いてある。

これで、ローカルリポジトリを見ると既にappディレクトリは消えていた!!

フェッチすると、コミットコメントは表示されるが、プルしても何の変化もなくうまくいったようだ。

Windows側の.gitには最初からinfoフォルダーがあったので同じようにしてappフォルダーだけプルできる様にした。

今まではDropboxにソースを置いて客先、自宅で開発や修正していたわけだが、時々競合したりして仕事のやり方としては問題ありだったわけだが、これで全面解決した。

svnもgitもどっちでも良いけど、流行だし、やっぱいrgitの方が良いかな。