狠狠撸

狠狠撸Share a Scribd company logo
Git で管理された
あるディレクトリの話


  天野卓 @ ToI 企画
自己紹介
佐久市で Web アプリケーションを開発しています。
  LAMP
Movable Type のプラグインをフリーソフトウェアと
して配布しています。
http://tec.toi-planning.net
GitHub でも活動しています。
http://github.com/usualoma
この発表に関する資料
以下の URL からダウンロードできます。
http://www.slideshare.net/tag/nseg
あるところに、
バージョン管理の対象にしたい
 ディレクトリがありました。


   home
   `-- project
しかしそのディレクトリにあるファイルは
   VCS を使うことのできない
デザイナーも編集を行なうのでした。


 home
 `-- project
      `-- css
          `-- style.css
そんな状況で
Git が役に立ったという話をします。
构成
@ デザイナー環境
 定期的かつ強制的に更新を取り込む。

% 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`"
問題点
問題 1
 VCS を使わないユーザーに管理用のファイルを変更され
 れてしまう!
 (/home/project/css/.svn とか )


問題 2
 無駄なコミットが大量に追加されてしまう !
 ( 変更途中の状態で後々まで残す必要のないもの )
問題 1 の解決
/home/project/.git を $GIT_DIR にする。
Git を使わないユーザーには /home/project/css
だけを公開する。
(FTP でルートディレクトリを制限 )

/home/project     <- $GIT_DIR
/home/project/css <- FTP のルートディレクトリ
なぜ問題 1 が解決できたか?
Git の情報は /home/project/.git の下に保存さ
れるので、 /home/project/css がルートディレク
トリになっていれば触ることができない。
問題 2 の解決
定期的な強制コミットはローカルブランチに対して
行う。
必要な場合にメインブランチに取り込み、リモートリ
ポジトリに反映させる。
なぜ問題 2 が解決できたか?
リモートリポジトリへ反映させなくてもローカル環境
だけで完結した形で、またローカル環境独自のルー
ルで、バージョン管理を行うことができる。
Git 素敵です。
ご静聴ありがとうございました

More Related Content

What's hot (20)

01.app
01.app01.app
01.app
Takenori Nakagawa
?
Github と仲良くなろう!
Github と仲良くなろう!Github と仲良くなろう!
Github と仲良くなろう!
Kentaro Ohkouchi
?
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
?
日记って続かないよね...
日记って続かないよね...日记って続かないよね...
日记って続かないよね...
Nobutada Matsubara
?
骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?
骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?
骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?
Kiyotaka Kunihira
?
Git flow
Git flowGit flow
Git flow
Takami Aoyama
?
スッと骋辞を取り入れる
スッと骋辞を取り入れるスッと骋辞を取り入れる
スッと骋辞を取り入れる
Yusuke Wada
?
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
?
恋する闯别苍办颈苍蝉
恋する闯别苍办颈苍蝉恋する闯别苍办颈苍蝉
恋する闯别苍办颈苍蝉
Hiroshi Nakao
?
【叠厂7】骋颈迟贬耻产をフル活用した开発
【叠厂7】骋颈迟贬耻产をフル活用した开発【叠厂7】骋颈迟贬耻产をフル活用した开発
【叠厂7】骋颈迟贬耻产をフル活用した开発
日本マイクロソフト株式会社
?
Gitのつくりかた YAPC::Asia 2015 @DQNEO
Gitのつくりかた YAPC::Asia 2015 @DQNEOGitのつくりかた YAPC::Asia 2015 @DQNEO
Gitのつくりかた YAPC::Asia 2015 @DQNEO
DQNEO
?
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろうGitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
?
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
?
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
Hirokazu Tokuno
?
骋颈迟丑耻产を使いこなす(?ω?)
骋颈迟丑耻产を使いこなす(?ω?)骋颈迟丑耻产を使いこなす(?ω?)
骋颈迟丑耻产を使いこなす(?ω?)
Kazuki Takahashi
?
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
Shuji Yamada
?
骋颈迟丑耻产サーヒ?スについて
骋颈迟丑耻产サーヒ?スについて骋颈迟丑耻产サーヒ?スについて
骋颈迟丑耻产サーヒ?スについて
Akura Pi
?
奥别产アフ?リを简単に公开しよう
奥别产アフ?リを简単に公开しよう奥别产アフ?リを简単に公开しよう
奥别产アフ?リを简単に公开しよう
honda0510
?
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について
Kazuhiro Hara
?
Github と仲良くなろう!
Github と仲良くなろう!Github と仲良くなろう!
Github と仲良くなろう!
Kentaro Ohkouchi
?
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
?
日记って続かないよね...
日记って続かないよね...日记って続かないよね...
日记って続かないよね...
Nobutada Matsubara
?
骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?
骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?
骋颈迟叠耻肠办别迟で社内翱厂厂しませんか?
Kiyotaka Kunihira
?
スッと骋辞を取り入れる
スッと骋辞を取り入れるスッと骋辞を取り入れる
スッと骋辞を取り入れる
Yusuke Wada
?
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
?
恋する闯别苍办颈苍蝉
恋する闯别苍办颈苍蝉恋する闯别苍办颈苍蝉
恋する闯别苍办颈苍蝉
Hiroshi Nakao
?
Gitのつくりかた YAPC::Asia 2015 @DQNEO
Gitのつくりかた YAPC::Asia 2015 @DQNEOGitのつくりかた YAPC::Asia 2015 @DQNEO
Gitのつくりかた YAPC::Asia 2015 @DQNEO
DQNEO
?
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろうGitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
?
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
?
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
Hirokazu Tokuno
?
骋颈迟丑耻产を使いこなす(?ω?)
骋颈迟丑耻产を使いこなす(?ω?)骋颈迟丑耻产を使いこなす(?ω?)
骋颈迟丑耻产を使いこなす(?ω?)
Kazuki Takahashi
?
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
Shuji Yamada
?
骋颈迟丑耻产サーヒ?スについて
骋颈迟丑耻产サーヒ?スについて骋颈迟丑耻产サーヒ?スについて
骋颈迟丑耻产サーヒ?スについて
Akura Pi
?
奥别产アフ?リを简単に公开しよう
奥别产アフ?リを简単に公开しよう奥别产アフ?リを简単に公开しよう
奥别产アフ?リを简単に公开しよう
honda0510
?
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について
Kazuhiro Hara
?

Viewers also liked (15)

Self Introduction 20100211
Self Introduction 20100211Self Introduction 20100211
Self Introduction 20100211
Taku AMANO
?
Tinort’S Musical Staff
Tinort’S Musical StaffTinort’S Musical Staff
Tinort’S Musical Staff
CUNY School of Professional Services
?
Tinort’S Musical Staff
Tinort’S Musical StaffTinort’S Musical Staff
Tinort’S Musical Staff
CUNY School of Professional Services
?
Tinort’S Musical Staff
Tinort’S Musical StaffTinort’S Musical Staff
Tinort’S Musical Staff
CUNY School of Professional Services
?
File API: Writer & Directories and System
File API: Writer & Directories and SystemFile API: Writer & Directories and System
File API: Writer & Directories and System
Taku AMANO
?
Partnership in 2010
Partnership in 2010Partnership in 2010
Partnership in 2010
Atieno Bird
?
CSS Design and Programming
CSS Design and ProgrammingCSS Design and Programming
CSS Design and Programming
Taku AMANO
?
Chp396 Multimedia Project
Chp396 Multimedia ProjectChp396 Multimedia Project
Chp396 Multimedia Project
Xuan Li
?
Sleep Pdf
Sleep PdfSleep Pdf
Sleep Pdf
jenyaf
?
The New Rich Text Editor
The New Rich Text EditorThe New Rich Text Editor
The New Rich Text Editor
Taku AMANO
?

Similar to Git 20100724 (20)

骋颈迟丑耻产入门2014
骋颈迟丑耻产入门2014骋颈迟丑耻产入门2014
骋颈迟丑耻产入门2014
Akihiko Shirai
?
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
Akihiko Shirai
?
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
?
蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门
蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门
蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门
Takashi Imagire
?
第1回骋颈迟勉强会
第1回骋颈迟勉强会第1回骋颈迟勉强会
第1回骋颈迟勉强会
kunimiya
?
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
?
础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)
础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)
础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)
masanori kataoka
?
sit-tokyo2022_sap-data-intelligence
sit-tokyo2022_sap-data-intelligencesit-tokyo2022_sap-data-intelligence
sit-tokyo2022_sap-data-intelligence
tkimura2
?
シンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHub
シンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHubシンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHub
シンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHub
K Kinzal
?
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CD
Issei Hiraoka
?
Confluence と DITA による Webマニュアル作成フロー
Confluence と DITA によるWebマニュアル作成フローConfluence と DITA によるWebマニュアル作成フロー
Confluence と DITA による Webマニュアル作成フロー
Takashi Yamaguchi
?
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19
VirtualTech Japan Inc./Begi.net Inc.
?
猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座
Yusei Yamanaka
?
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
日本マイクロソフト株式会社
?
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
kazuki kuriyama
?
Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdfAzure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdf
YasuhiroHanda2
?
【社内轮読会】骋颈迟丑耻产実践入门2章
【社内轮読会】骋颈迟丑耻产実践入门2章【社内轮読会】骋颈迟丑耻产実践入门2章
【社内轮読会】骋颈迟丑耻产実践入门2章
Akira Torii
?
今さら闻けない人のための驳颈迟超入门
今さら闻けない人のための驳颈迟超入门今さら闻けない人のための驳颈迟超入门
今さら闻けない人のための驳颈迟超入门
VirtualTech Japan Inc./Begi.net Inc.
?
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
Nobuhiro Iwamatsu
?
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
Akihiro Suda
?
骋颈迟丑耻产入门2014
骋颈迟丑耻产入门2014骋颈迟丑耻产入门2014
骋颈迟丑耻产入门2014
Akihiko Shirai
?
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
Akihiko Shirai
?
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
?
蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门
蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门
蔼蝉冲蝉蝉办13さん向け骋颈迟贬耻产入门
Takashi Imagire
?
第1回骋颈迟勉强会
第1回骋颈迟勉强会第1回骋颈迟勉强会
第1回骋颈迟勉强会
kunimiya
?
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
?
础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)
础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)
础驳颈濒别ツール适合化分科会(変更管理?バージョン管理)
masanori kataoka
?
sit-tokyo2022_sap-data-intelligence
sit-tokyo2022_sap-data-intelligencesit-tokyo2022_sap-data-intelligence
sit-tokyo2022_sap-data-intelligence
tkimura2
?
シンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHub
シンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHubシンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHub
シンプルなNFTをMintするアプリケーション作ってみた - Solana Developer Hub Online 5 #SolDevHub
K Kinzal
?
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CD
Issei Hiraoka
?
Confluence と DITA による Webマニュアル作成フロー
Confluence と DITA によるWebマニュアル作成フローConfluence と DITA によるWebマニュアル作成フロー
Confluence と DITA による Webマニュアル作成フロー
Takashi Yamaguchi
?
猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座
Yusei Yamanaka
?
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
kazuki kuriyama
?
Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdfAzure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdf
YasuhiroHanda2
?
【社内轮読会】骋颈迟丑耻产実践入门2章
【社内轮読会】骋颈迟丑耻产実践入门2章【社内轮読会】骋颈迟丑耻产実践入门2章
【社内轮読会】骋颈迟丑耻产実践入门2章
Akira Torii
?
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
Nobuhiro Iwamatsu
?
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
Akihiro Suda
?

Git 20100724