Successfully reported this slideshow.
Your SlideShare is downloading. ×

Git 20100724

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Github of project
Github of project
Loading in …3
×

Check these out next

1 of 15 Ad

More Related Content

Slideshows for you (20)

Advertisement

Similar to Git 20100724 (20)

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. ご静聴ありがとうございました

×