Way to store your dotfiles: A bare Git repository (2016)
I use something even simpler<p>My dotfiles git repo is meant to be cloned in my home directory. It comes with this .gitignore committed in the repo:<p><pre><code>  &#x2F;*
  !&#x2F;.vim&#x2F;
  &#x2F;.vim&#x2F;.netrwhist
</code></pre>
Basically it ignores everything in my home directory, unless I explicitly `git add` it, which matches my workflow.  For the few cases where I want to notice changes (like the entire ~&#x2F;.vim&#x2F; subdirectory), I explicitly un-ignore it as you can see above.<p>The only downside I&#x27;ve experienced is my bash PS1 prompt shows the status of the dotfiles repo (branch&#x2F;dirty&#x2F;etc) in any directory I&#x27;m in that&#x27;s inside my home dir - I&#x27;ve learnt to ignore it, and it doesn&#x27;t interfere with CDing into an actual directory that&#x27;s its own git repo.