ゴミ箱の中のメモ帳

まだ見ぬ息子たちへ綴る手記

Gitに空のディレクトリを管理させる

Gitはファイルはうまく管理してくれる。

だがそのファイルの入っていないからのディレクトリは管理してくれない。

「空のディレクトリなんて扱わなくていいじゃないか」と思われるかもしれないが、そのディレクトリがサービスを動かし始めてから使われるディレクトリなどは、そのディレクトリを「用意」しておく必要がある。用意してあることで「このディレクトリを使う」と言う意思表示にもなる。

実用Git

実用Git


ということでからのディレクトリを扱う方法。

% mkdir git
% cd git
% ls
% mkdir foo
% git init
Initialized empty Git repository in /path/.git/
% git add .
% git status
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)
% touch foo/.gitkeep
% git add .
% git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   foo/.gitkeep

と言う感じで、空のディレクトリ内に「.gitkeep」と言うファイルを入れておけばいい。このファイルはその名前の通り「このディレクトリを維持する」という意味を持つファイルになる。この「.gitkeep」はオライリーの「実用Git」にも掲載されていないため知らない人が多いのかもしれない。

「.gitkeep」を知らない人たちは「.gitignore」を置いてディレクトリを維持しているのを稀に見るが、「.gitignore」にはきちんとした別の使い道があるため、「ディレクトリを維持する為」という違う目的のために使わないほうがいい。


最近はSVNを見なくなってきたことが嬉しい。

アリスとボブのGit入門レッスン

アリスとボブのGit入門レッスン

入門git

入門git

開発効率をUPする Git逆引き入門

開発効率をUPする Git逆引き入門

  • 作者: 松下雅和,船ヶ山慶,平木聡,土橋林太郎,三上丈晴
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2014/04/09
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (6件) を見る
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)