简体   繁体   中英

How do I ignore everything except a couple files in the top-level directory and everything in a few directories with .gitignore

I want to ignore everything except a couple files in the top-level directory and everything in a few directories with .gitignore

My top level .gitignore is:

*
!/app/
!gbase.php
!list-secret-prices.php

The problem is that I have to put a .gitignore with one entry of:
!*

in each of the subdirectories that I want to include for it to work. I don't want to have to put a .gitignore in everyone of the directories that I want included. I want to handle everything in the top level .gitignore.

In your case the following might be more appropriate:

/*
!app/
!gbase.php
!list-secret-prices.php

The first line ignores all top-level directories and files. Anything inside the ignored directories will also be ignored by git, even if it's not explicitly specified.

The second line unignores the app directory. It will also cause git to find all its files and subdirectories (recursively), because we never told git to ignore anything below the top-level.

I make global exclusions in my gitconfig file ($HOME/.gitconfig)

[core] excludesfile = /Users/meself/.gitignore

And then write my patterns in ~/.gitignore.

Would this help?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM