.gitignore: according to what rules does this work
- From
- Konrad Karl <kk_konrad@gmx.at>
- Date
- May 26, 2010, 16:23 UTC
- Message-ID
- <20100526162306.GA27815localhost>
I have the following directory layout and want to exclude dir2 .. dirN
The following arrangement of .gitignore seems to work ok but I was unable to find docs about the double asterisks.
./.gitignore:
* */ !.gitignore !/dir1/
dir1/.gitignore:
!** !**/
these two lines seem to be enough to have all subdirectories within dir1 being included (which is desired) but why?
|-- .gitignore
|-- dir1
| |-- .gitignore
| |-- file1
| |-- subdir1
| | |-- file1
| | `-- subsubdir1
| | |-- file1
| | `-- subsubsubdir1
| | `-- file1
| `-- subdir2
| `-- file1
|-- dir2
| `-- file1
.
.
.
--- dirN
`--file1git add . says: .... # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: .gitignore # new file: dir1/.gitignore # new file: dir1/file1 # new file: dir1/subdir1/file1 # new file: dir1/subdir1/subsubdir1/file1 # new file: dir1/subdir1/subsubdir1/subsubsubdir1/file1 # new file: dir1/subdir2/file1
Before discovering this I was playing like this:
!* !*/ !*/* !*/*/
and so on.
Greetings, Konrad