Joe Fletcher
Joe Fletcher

Reputation: 2181

I cannot get git to unignore a subdirectory, even after excluding it in gitignore

In my .gitignore file, I was ignoring a directory like this:

var

Then I realized I want to track var/package and all its contents. So, I've added that exclusion to gitignore. I've tried many combinations, but have settled on the following for what seems to be logical, especially from other discussions here.

!var/
var/*
!var/package
!var/package/
!var/package/*

But whenever new files are written to var/package, they are not detected. They are added if I --force them specifically, but not through usual procedures such as git add .

Is there a command I need to be issuing to reset .gitignore to now finally pick up the new gitignore instructions? Am I missing something?

Upvotes: 4

Views: 5014

Answers (1)

Seth Robertson
Seth Robertson

Reputation: 31471

Remove anything about var from .gitignore. Create a var/.gitignore with the contents:

/*
!/package

You will obviously need to git add -f var/.gitignore but after that all should be well.

another option is, in your top level .gitignore, say:

/var/*
!/var/package

If either do not work, please type find . -name .gitignore | xargs egrep . and cat .git/info/exclude and let us know what it returns.

Upvotes: 8

Related Questions