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?

  • GitHub Merge branch 'master'
  • git: Automatic tagging of releases
  • How can I associate local unversioned code to git remote repository?
  • GithubAPI: Get repositories a user has ever committed in
  • Creating new git branch in eclipse
  • git: update a php-script but keep own changes
  • Git - Browse remote repository
  • Throwing away old history on git repo full of binaries
  • For Ruby on Rails project pull request, git push to my fork failing
  • Magit revert single file
  • basic git understanding problems
  • Git clone. key_load_public: invalid format Permission denied (publickey)
  • 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.