How do I ignore a directory in the root of my git repository, but include it further down in the tree?

I need to use .gitignore to exclude a directory in the root of my repository. However, other directories with the same name exist deeper in the directory tree, and I need those to be included. It seems that when I put the name of the directory into .gitignore, it catches all of these directories, not just the one I need to ignore. I understand that .gitignore is actually not a list of files, but patterns. So how can I construct a pattern to ignore just a file in my root directory, but not files with the same name further down?

  • Git proxy bypass
  • Remote Pushurl won't work
  • Validate source code authenticity from git repository
  • How to get rid of “refs/bisect/bad” branches in Git
  • How to colorize git-status output?
  • Using GIT to clone from a windows machine to a linux webserver (in house)
  • Stuck at “A merge operation in progress”
  • How to use Bitbucket and GitHub at the same time for one project?
  • How to 'git pull' into a branch that is not the current one?
  • Store SSH key passphrase persistently
  • Git untracked files list is wrong
  • git pull merges automatically
  • One Solution collect form web for “How do I ignore a directory in the root of my git repository, but include it further down in the tree?”

    Use a leading /

      /file.x
    

    That will only match a top level file.x but not one lower down, in “want/file.x”, say.

    Git Baby is a git and github fan, let's start git clone.