4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Laravel】追加した空のディレクトリを Git 管理したい場合(.gitignore の書き方)

Posted at

#やりたいこと

Laravel ディレクトリ内で下記の場所に新しいディレクトリ files を追加したとします。

Laravel
   ┗ storage
        ┗ app
           ┣ local
           ┃   ┗ files <- new
           ┗ public

このままでは新しく追加した files ディレクトリは Git 管理されません。
これを Git 管理できるように設定します。

#空のフォルダを Git 管理する

app/ ディレクトリの中身を見てみると .gitignore というファイルが入っているかと思います。

Laravel
   ┗ storage
        ┗ app
           ┣ local
           ┣ public
           ┗ .gitignore <- !?

ファイル名からも想像できるように、このファイルは「Git で管理しないもの」を設定するためのファイルとなっています。

app/ ディレクトリ内の .gitignore には下記のような内容が書かれています。

Laravel/storage/app/.gitignore
*             # app/ ディレクトリ内のすべてのファイルを無視
!public/      # app/public/ ディレクトリは無視しない
!.gitignore   # app/.gitignore は無視しない

* は「すべてのファイルが対象」という意味、! は「無視しない(Git 管理する)」という意味になりますので、この場合は

app/ ディレクトリ内のすべてのファイルを Git 管理しないが、app/public/ ディレクトリと app/.gitignore だけは Git 管理する

という設定になります。

#設定を書き換える

それでは新しく追加した files ディレクトリを Git 管理するように設定を書き換えます。

まずは app/.gitignore を下記のように編集します。

Laravel/storage/app/.gitignore
*
!public/
!local/       # この行を追記
!.gitignore

これで app/local/ がGit 管理できるようになりそうですが、Git は空のディレクトリを管理してくれません。

Git 管理するためには app/local/ に何かしらのファイルを保存する必要があります。

そこで、app/local/ 内にも .gitignore を保存することで Git 管理できるようにします。

Laravel/storage/app/local/.gitignore
*
!.gitignore
!files/

これで app/local/files/ ディレクトリも Git 管理できるようになりました。

さらにさら、これでは開発工程で app/local/files/ ディレクトリに保存されたテスト用のファイルなども Git 管理されてしまうので、それは無視してもらいましょう。

Laravel/storage/app/local/files/.gitignore
*
!.gitignore

# 逆に、Git 管理したいファイルがある場合は先頭に ! をつけてファイルを指定します。

files ディレクトリ内にも上記内容の .gitignore を設置することで不要なファイルを Git 管理から外すように設定できました。

#まとめ

あちこちに .gitignore が出てきましたが、最終的には以下のような構造になります。

Laravel
   ┗ storage
        ┗ app
           ┣ local
           ┃   ┣ files
           ┃   ┃   ┗ .gitignore
           ┃   ┗ .gitignore
           ┣ public
           ┗ .gitignore

正しく設定されていれば files ディレクトリも Git 管理できるようになっているかと思います。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?