Sometimes, the software in a git repository you work with starts to act wonky, especially when running tests, and for no particular reason that you can discern! I saw this recently when I was playing with bundler in some puppet module repos I was setting up to use Travis CI. My rspec tests started failing with nonsensical errors, such as saying it couldn’t find a class that was very much present on disk. What’s worse is that I did a fresh clone of the repo from GitHub into another directory and it worked flawlessly! What the hell? Thankfully, a little kvetching on twitter led to some help from David Schmitt:
@rnelson0 git clean -fdx && git reset –hard #hugops
— David Schmitt (@dev_el_ops) November 15, 2015
//platform.twitter.com/widgets.js
David dropped some great wisdom here (thanks!). Let’s unpack it and understand it.