Thoughts on Git
A few thoughts on Git workflows:
- I tend to prefer simple, low-friction workflows in general, but this is amplified greatly for Git. In my experience, complex wastes time, whether in the form of continual education to newcomers (who can't self-educate due to its complexity) or fixing problems that arise (due to the almost certain fragility that joins complexity in the fun). For this reason I've regularly attempted (and usually succeeded) to instill a workflow closer to GitHub than git-flow. Check out those links to see the differences for yourself. One simple difference is that git-flow all but requires its own tooling to manage the complexity. GitHub's simpler flow is just branching.
- I don't read history, but when I do, I prefer context, history, and small (read: easily removable) patches over single, squashed dissertations with huge, multi-file patches. For this reason, and because rebasing remotes is incredibly dangerous, I prefer merging branches to rebasing them.
- I prefer command-line Git to GUIs because I learned that first, and I know what it all means.
- I prefer a "bad" Git workflow to Perforce, SVN, CVS, ..., and will some day try Mercurial.
20th of September, 2013