GitHub 上でサクッと空のディレクトリを作成する方法


やり方

本来、新しいディレクトリを git 管理し、GitHub へ反映するには下記のような手順が必要です。

  1. ローカルで新しいディレクトリを作成
  2. 中にファイルを置く
  3. ファイルを git add する
  4. ファイルを git commit する
  5. git push する

しかし、前述のキャプチャの方法ならブラウザさえあれば GitHub上で全て完結できます。ローカル作業が面倒なときはお試しください。用途例としては、プロジェクトブランチに共用のディレクトリだけを先に用意する、みたいなときによく使います。

説明

Create new file をクリックして、ファイル名を path/to/.gitkeep という名前で作成します。すると、スラッシュで区切られたところはファイル名ではなくディレクトリ名として扱われ、path/to ディレクトリ内に .gitkeep というファイルが作成されます。このとき path/to ディレクトリがまだ存在しない場合は新しく作成されますのでこれを利用しているというわけです。

なんでディレクトリの作成をしたいだけなのに、わざわざこんなファイルを作るのかといいますと、git では空のディレクトリを add することはできないためです。 まだディレクトリに入れるファイルが何も無い場合でも何かしら入れておかないと add して git での管理ができません。

ここでは .gitkeep というファイルを設置しておくことでディレクトリを中身のある状態にしています。これによって add ができるようになります。.gitkeep ファイル自体は特に何も中身はない、ただの空ファイルです。ファイル名や中身はなんでもいいんですが、ディレクトリをgitに認識させるためだけに設置した特に中身には意味の無いファイルである ということがファイル名を見るだけでわかるので、一般的にこの名前で空ファイルを作ることが多いようです。

参考

.gitkeep を設置している点以外は基本下記と全く同じです。

補足

.gitkeep でこの記事に辿り着いている方が多い?様子なので少し補足です。

.gitkeep というファイル名は特にそういう公式ドキュメントがあるわけではないです。あくまでも先行例が多いため右に倣っているだけです。事例については GitHubを検索してみるとたくさん見つかります ので気になる方は覗いてみてください。

ちなみに .keep にしているケースも筆者は見かけたことがあります