Tutorial :How do you gitignore everything except a directory?



Question:

I am trying to sync my desktop and laptop using a cron'd git. It works beautifully on a single directory. However I want to sync multiple config files scattered about and some other things. To do this decided to turn my home folder into a git directory and ignore everything except for a few select files and directories.

$ cat .gitignore  *  # test is a directory  !test  

Does not work. Looking at another stackoverflow question, I found */ and used it instead of *. That almost worked as I wanted it to, but then all of the random single hidden files I have scattered about my home directory showed up.


Solution:1

From my git ignore in my home directory.

*

Then you have to git add -f stuff you want to commit. Least that is how I do it for my configs.


Solution:2

What works for me:

# Ignore every directory  /*  # Except this one  !/test  

Or

# Ignore every file  *  # Except these ones  !test  !test/*  !test/*/*  


Solution:3

Try:

!test/*  

instead. I'm not sure if this will work (wild guess), but it is worth a try.


Solution:4

$ cat .gitignore  **/*  *  # test is a directory  !test  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »