Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git 20100724

1,639 views

Published on

  • Be the first to comment

  • Be the first to like this

Git 20100724

  1. 1. Git で管理された あるディレクトリの話 天野卓 @ ToI 企画
  2. 2. 自己紹介 佐久市で Web アプリケーションを開発しています。 LAMP Movable Type のプラグインをフリーソフトウェアと して配布しています。 http://tec.toi-planning.net GitHub でも活動しています。 http://github.com/usualoma
  3. 3. この発表に関する資料 以下の URL からダウンロードできます。 http://www.slideshare.net/tag/nseg
  4. 4. あるところに、 バージョン管理の対象にしたい ディレクトリがありました。 home `-- project
  5. 5. しかしそのディレクトリにあるファイルは VCS を使うことのできない デザイナーも編集を行なうのでした。 home `-- project `-- css `-- style.css
  6. 6. そんな状況で Git が役に立ったという話をします。
  7. 7. 構成
  8. 8. @ デザイナー環境 定期的かつ強制的に更新を取り込む。 % cat force_commit_files #!/bin/sh git=`/usr/bin/which git` export GIT_DIR=/home/project/.git $git add `/usr/bin/dirname $GIT_DIR` $git commit -m "`/bin/date`"
  9. 9. 問題点 問題 1 VCS を使わないユーザーに管理用のファイルを変更され れてしまう! (/home/project/css/.svn とか ) 問題 2 無駄なコミットが大量に追加されてしまう ! ( 変更途中の状態で後々まで残す必要のないもの )
  10. 10. 問題 1 の解決 /home/project/.git を $GIT_DIR にする。 Git を使わないユーザーには /home/project/css だけを公開する。 (FTP でルートディレクトリを制限 ) /home/project <- $GIT_DIR /home/project/css <- FTP のルートディレクトリ
  11. 11. なぜ問題 1 が解決できたか? Git の情報は /home/project/.git の下に保存さ れるので、 /home/project/css がルートディレク トリになっていれば触ることができない。
  12. 12. 問題 2 の解決 定期的な強制コミットはローカルブランチに対して 行う。 必要な場合にメインブランチに取り込み、リモートリ ポジトリに反映させる。
  13. 13. なぜ問題 2 が解決できたか? リモートリポジトリへ反映させなくてもローカル環境 だけで完結した形で、またローカル環境独自のルー ルで、バージョン管理を行うことができる。
  14. 14. Git 素敵です。
  15. 15. ご静聴ありがとうございました

×