Usage notes

My git practices have evolved quite a bit since .

This article would thus be severely due for an update.

Reminder: In my status quo I document the commands from the perspective of how I use them, which necessarily (and by design) involves (over)simplifications.
Please consult the official documentation for full details.

Usage notes » Overview

Once again, I'm making quite unsophisticated use of a sophisticated tool.

My workflows are really simple, owing in large part to the fact that I'm mostly a "lone-wolf" open-source programmer: I pretty much never work on third-party projects (j'ai d'autres chats à fouetter!), and I'm typically the only contributor to my projects (which is fine by me!), besides occasional outside feedback (which I could use more of!).

And I rarely use branches other than the default, master. Juggling the state of 50+ projects is already hard enough without also having multiple branches per project... Besides, even google does everything on the master branch, I hear...

And since I push regularly, usually just after each commit, even if it's incomplete work, and rebasing publicly shared history is a Very Bad Thing, I never rebase either. My days of hiding my work until everything is "perfect" are over...

So, no branches, no contributors, no patches, no rebasing, no complexity, no nothing. Simple. Excruciatingly simple.

Usage notes » Routinely used commands

Usage notes » Rarely used commands

Usage notes » Almost never used commands

My config

I have one custom command alias in my .gitconfig:

[alias]
        unpushed = log HEAD ^origin/master