If the pattern doesn't start with a slash, it matches files and directories in any directory or subdirectory. If the pattern ends with a slash, it matches only directories. When a directory is ignored, all of its files and subdirectories are also ignored.
Repository exclude - For local files that do not need to be shared, you just add the file pattern or directory to the file . git/info/exclude .
This ignores root files & root directories, then un-ignores the root bin directory:
/*
/*/
!/bin/
This way you get all of the bin directory, including subdirectories and their files.
Here how to ignore everything exept one directory "MY_SUPER_DUPER_TEMPLATE_directory" in some directory
Structure: /bitrix/templates/MY_SUPER_DUPER_TEMPLATE_directory
/*
!/bitrix
/bitrix/*
!/bitrix/templates
/bitrix/templates/*
!/bitrix/templates/MY_SUPER_DUPER_TEMPLATE_directory
*.DS_Store
*.gitignore
You must exclude everything on the way to the destinations, but you must include the destinations:
Note: This is an exclusion file (i.e. .gitignore) so the logic is inverted. Ignore all, except the tsp directory, ignore all in tsp directory, except the src directory...
/*
!/tsp
/tsp/*
!/tsp/src
/tsp/src/*
!/tsp/src/*.h
!/tsp/src/*.cpp
!/tsp/src/data.txt
!/.gitignore
The only issue you have is that the bin
directory itself is not matched by the bin/*
pattern so git isn't even look in the bin
directory.
There are two solutions that spring to mind.
.gitignore
:
*
!/bin/
!bin/*
or
.gitignore
:
*
!/bin/
bin/.gitignore
:
!*
I prefer the second solution as the first solution won't stop ignoring files in the bin
directories that are in subdirectories that aren't called bin
. This may or may not matter in your situation.
From the official git doc, one of the examples says:
Example to exclude everything except a specific directory foo/bar (note the /* - without the slash, the wildcard would also exclude everything within foo/bar):
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
For an explanation about the leading slash: When to use leading slash in gitignore.
Try following in latest GIT version.
*
!*/
!/path/to/your/dir/**
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With