gitを建築プロジェクトに使ってみた今回の結果 補足
前のエントリーが結構なreblogをいただいたので補足します。
コマンドラインの使用は使ったことのない人にとっては逆にそれにしか使わないので、上カーソルで非常にシンプルに使えます。今回はMacでのプロジェクトだったのですが、windowsな方を巻き込んだとしても、windowsでのgit使用は日本語ファイル名の文字化け問題があるのですが、cygwin utf-8版を使っていただくことで問題なく使用可能です。
フォルダのサイズは4GBまでいきました。が、各自のスクラップまでUPされた結果でこうだったのでそれを整理し”git gc”を行うと1.8GBまでになりました。実際のファイルは600MBで残りは”.git”になります。
速度的にはサーバー側が貧弱なこともありあらたに”git clone”すると10分を超える時間がかかりますが、途中でのgit push pullは気にならない範囲です。1つのファイルのサイズはだいたい10MB程度でしょうか。
一番の問題点はほとんどがバイナリファイルなためコンフリクトに対応できない点です。ビューアー的なものもありません。でもって今回はどう対処したかと言うと、今回使ったアプリがsketchupでしたのでオブジェクトをコピーペーストした際にレイヤ名属性も一緒に移動することを利用してレイヤ名に”各自の名前_”を付けて行ない、各自の名前のファイル名で保存し最後に手作業でマージすることで対処しました。
autocadであれば上記の機能に加え外部参照機能がありますので、ファイルを小分けすることでコンフリクトが起きることを減らすことができます。
jwcadだと上記どちらの機能もありませんのでどうしたか悩ましいところです。しっかりとした図面リストのつくり込みを最初に行うことで対処することになると思います。
gitを建築プロジェクトに使ってみた今回の結果
gitを建築プロジェクトのレポジトリとして使っているところはあまりないと思うのですが、今回はターミナルなんぞ開いたこともないというような人を巻き込み実用してみたのでそのプロジェクトのフェーズ1が終わったいま、少しばかりまとめてみたいと思います。
- とりあえず教えたコマンドは
git clone
git add .
git commit -m “”
git push
git pull
- 扱うファイルはほぼバイナリなのでバックアップ、レポジトリ、バージョニングにしかつかわない
- ブランチの説明は初ターミナルの人にはややこし過ぎるので、アプリ内(今回はsketchup)のレイヤでその代替とするルール決め。 一般的によくやられる好き勝手なファイル名をつけてその人のブランチやバージョニングとしても他の人には全くを持ってわからないのでここはかなり徹底
- 前のファイルの戻るときのコマンドも教えきれないのでredmineをつかってそこからのダウンロードで対応
- コンフリクトがおきてもバイナリ中心で基本的に対処できない(svnのロックの使用も検討したけど、大量の”.svn”がきらいという個人的理由で却下)
- ファイルは消すな動かすな
(rmなんぞ怖くておしえられない)
ターミナルを開いたこともない人の感想
- 最新ファイルが上記4コマンドでみんなに伝えられるのが便利
(bashで上カーソルキーも教えました)
- 日付がファイル名についたファイルとかがなくなりそれぞれのプロジェクトフォルダがすっきり
- 時々エラーがでてわけがわからん
レポジトリを管理してた側の感想
- sketchupがファイル参照機能を持っていればもっと簡単だったのに
- エラーの原因のほとんどはpushする前にpullしなかったこと
- 各自のスクラップをもレポジトリに上げる輩続出
(ここでのどのファイルを消していいかの確認とその時にレポジトリには自分だけ理解できるファイルはおくなの徹底で最後にはほぼ無くなった)
- 自分だけわかればいいと言うデータの作り方が多少は改善された
- 管理はやっぱりいる
- redmineのレポジトリブラウザがjpgとか、pngはそのまま表示されればいいのに
(いけるのかどうかgitもredmineもしらべてみたくなった)
補足追加しました