Interacting with Git: Cryptic RPC Errors, HTTPS, and SSH

In my experience, working with a Git repository hosted by Gitlab, Github, or Gitorious has generally been issue free and enjoyable. Recently, however, three members of my team ran across the same cryptic RPC error when trying to push changes to a remote repository on Gitlab: error: RPC failed; result=22, HTTP code = 411error: RPC […]

Sharpen Your Git Saw – Aliases, Selective Staging, & Interactive Rebasing

Git is a powerful tool that we love as developers. It’s also complicated. I consider the bare essentials of Git, the minimum set of features to be familiar with before we can be productive, to be all of this: local interaction: status, add, remove, commit, reset, checkout branch management: checkout, merge remote interaction: clone, fetch, […]

Why Use Git?

I recently was asked to teach a workshop at Hope College on Git. I am jealous of the students that attended. Their curriculum includes things like unit testing and version control. Having the importance of source control shown to them so early is a major boon. Giving this talk got me thinking about why I […]

Obliterate Unsavory git Objects with the BFG

Sometimes we accidentally commit things to git that we shouldn’t. Passwords. Keys. Other sensitive data. Photoshop files. Intermediate object files. Other big binary data. There’s a lot of stuff that doesn’t work well in git, and since git (conservatively and justifiably) makes it difficult to destroy data, we end up with these anchors slowing us […]