-
-
Save hieblmedia/9318457 to your computer and use it in GitHub Desktop.
| # | |
| # If all files excluded and you will include only specific sub-directories | |
| # the parent path must matched before. | |
| # | |
| /** | |
| !/.gitignore | |
| ############################### | |
| # Un-ignore the affected subdirectory | |
| !/libraries/ | |
| # Ignore subdirectory and all including directories and files to match pattern as valid for the next pattern | |
| /libraries/** | |
| # This pattern only works with the two previous patterns | |
| # (i remember it was working alone on older git versions) | |
| !/libraries/myLibrary/ | |
| ############################### | |
| # Another example | |
| !/templates/ | |
| /templates/** | |
| !/templates/myTemplate/ |
Yo, thanks!
Thanks! This is awesome!
Thanks!
Thanks
I removed one star for it to work
!/templates/
/templates/*
!/templates/myTemplate/
+1 to FabianUx
Did not work for me with two asterisks, but is perfect with only one. Thanks!
Thanks!
+1
Thanks. This worked for me.
After hours of reading confusing posts, I was very happy to find this.
thanks for sharing
Thank you sir. You is a genius!
Thanks. This worked for me.
After hours of reading confusing posts, I was very happy to find this.
Ditto - most posts were confusing and missed key information regarding negation, finally this helped me realise where I was going wrong. 👍
If the affected folder is not in the root level of the .gitignore, the solutions above didn't work, however this does:
! templates/ **/templates/* !**/templates/myTemplate
This is exactly what I needed and worked for me. Thanks!
@anisriva have you read the comments above?
@
@anisriva have you read the comments above?
@martin-braun yes i did, and i specifically tried yours as well it seem to only work for the immediate child directory.
Thanks
I removed one star for it to work
!/templates/ /templates/* !/templates/myTemplate/
Worked for me Thanks!
+1 to FabianUx
Did not work for me with two asterisks, but is perfect with only one. Thanks!
Thanks bro!
Thankssss !!!! helped me a lot!
@
@anisriva have you read the comments above?
@martin-braun yes i did, and i specifically tried yours as well it seem to only work for the immediate child directory.
For me worked to re-include every individual parent again, meaning
/**
!/mnt
!/mnt/cassandra
!/mnt/cassandra/analytics-seed
!/mnt/cassandra/analytics-seed/spark
!/mnt/cassandra/analytics-seed/spark/jupyter
...
Thank you!
I wanted to share my example, maybe it would help someone.
My .gitignore:
# Disable all directories.
*/
!.gitignore
# Enable `Jenkins Service/init.groovy.d`.
!Jenkins Service/
Jenkins Service/*
!Jenkins Service/init.groovy.d/
# Enable `Scripts`.
!Scripts/
After git add .:
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: Jenkins Service/init.groovy.d/BuildRerunner.groovy
new file: Jenkins Service/init.groovy.d/rerun-last-prod-build.groovy
new file: Jenkins Service/init.groovy.d/rerun-zombie-builds.groovy
new file: Scripts/jenkins-delete-cache.bat
Thanks for the solution!
In my case git add * must be used after configuration of the gitignore file. Somehow git add . does not work.
Awesome, thanks!

You sir are a god