简体   繁体   中英

How do you gitignore everything except a directory?

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.

What works for me:

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

Or

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

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.

Try:

!test/*

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

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

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