15

Click here to load reader

Git 20100724

Embed Size (px)

Citation preview

Page 1: Git 20100724

Git で管理されたあるディレクトリの話

天野卓 @ ToI 企画

Page 2: Git 20100724

自己紹介

佐久市で Web アプリケーションを開発しています。

LAMP

Movable Type のプラグインをフリーソフトウェアと

して配布しています。

http://tec.toi-planning.net

GitHub でも活動しています。

http://github.com/usualoma

Page 3: Git 20100724

この発表に関する資料

以下の URL からダウンロードできます。

http://www.slideshare.net/tag/nseg

Page 4: Git 20100724

あるところに、

バージョン管理の対象にしたい

ディレクトリがありました。

home`-- project

Page 5: Git 20100724

しかしそのディレクトリにあるファイルは

VCS を使うことのできない

デザイナーも編集を行なうのでした。

home`-- project `-- css `-- style.css

Page 6: Git 20100724

そんな状況で

Git が役に立ったという話をします。

Page 7: Git 20100724

構成

Page 8: Git 20100724

@ デザイナー環境

定期的かつ強制的に更新を取り込む。

% 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`"

Page 9: Git 20100724

問題点

問題 1

VCS を使わないユーザーに管理用のファイルを変更され

れてしまう!

(/home/project/css/.svn とか )

問題 2

無駄なコミットが大量に追加されてしまう !

( 変更途中の状態で後々まで残す必要のないもの )

Page 10: Git 20100724

問題 1 の解決

/home/project/.git を $GIT_DIR にする。

Git を使わないユーザーには /home/project/css

だけを公開する。

(FTP でルートディレクトリを制限 )

/home/project <- $GIT_DIR/home/project/css <- FTPのルートディレクトリ

Page 11: Git 20100724

なぜ問題 1 が解決できたか?

Git の情報は /home/project/.git の下に保存さ

れるので、 /home/project/css がルートディレク

トリになっていれば触ることができない。

Page 12: Git 20100724

問題 2 の解決

定期的な強制コミットはローカルブランチに対して

行う。

必要な場合にメインブランチに取り込み、リモートリ

ポジトリに反映させる。

Page 13: Git 20100724

なぜ問題 2 が解決できたか?

リモートリポジトリへ反映させなくてもローカル環境

だけで完結した形で、またローカル環境独自のルー

ルで、バージョン管理を行うことができる。

Page 14: Git 20100724

Git 素敵です。

Page 15: Git 20100724

ご静聴ありがとうございました