WIP Commits

Git is an append-only database. You can certainly update old records (re-write the history) but that’s not a great mental model for it. I like to embrace that it’s append-only.

So, often I find myself in a position of not yet ready to commit my changes but I also have to leave my computer. The solution I found is “wip” commits.

I just stage everything and commit it as “wip”. I also push to remote just to have a back up.

When I get back to work, I just do a reset of the “wip” commit an continue working. When you are ready to do a real commit, you have to force push but I think it’s fine since this all happens in a private branch.