Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
83
Help us understand the problem. What are the problem?
@tommy_aka_jps

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

やり方

createGitkeepWithDir3.gif

本来、新しいディレクトリを 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 にしているケースも筆者は見かけたことがあります

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
83
Help us understand the problem. What are the problem?