May 20, 2016. My Git streak comes to an abrupt end on 199 days. Today, GitHub disabled the commit streak feature and left me stranded one day short of a milestone. It feels a little frustrating to get so close and then have it taken away, but in the end the overwhelming feeling is actually one of relief.
I’m a chronic procrastinator and a prolific sidetracker—
I used to keep my code entirely offline on my computer in a horrible
mess of poorly named “temporary” directories, so whenever I decided
to go back to an old project I would have no idea where it was up to,
if I could even find it. So invariably I would just start over again.
Clearly this isn’t the way to go—
And then I came across the Git commit streak on GitHub.
This one number shows me how many days in a row I’ve done some amount of work on one of my projects. It doesn’t matter if every day I work on something different, as long as I work on something the number continues to go up. So I decided to see how far I could take it.
And as with all of my projects, it started with a brief spurt of
activity. I made a few commits each day over the first weekend, but
then it quickly dropped back to one commit a day during the week. For
my day job I write proprietary software so I don’t get any credit for
that—
As you can imagine, there were more than a few in there that were mostly just cleanup or adding comments. Hey, it’s an easy commit and I figure that if keeping the streak going encourages me to do some cleanup that I might not otherwise have done, that’s only a good thing. At least I’m thinking about the projects every day and making some small contribution.
Then it really started to get hard. Some days after committing some
code I would deliberately leave some more to commit the next day.
Some days I would be up at 11:30pm, exhausted and desperately wanting
to sleep, trawling through my repos looking for low-hanging fruit so
I could commit something and go to bed. Luckily, my partner was
really supportive of me—
But that’s not the worst of it. The moment I truly realised that the commit streak was starting to control me was not when I thought about the things that it made me do, but the things that it made me not do.
Right from the start, I decided to start blogging alongside growing my streak and chose to host my blog as a GitHub page so that blogging counted as a contribution. I could have gone with Jekyll, but I decided to roll my own blog with hand-written JavaScript as a learning exercise. And sure enough, it gave me an excuse to get some easy commits by tweaking the blog a bit or adding some features. But it was so tedious, I had some things I wanted to blog about but didn’t because hand-writing the markup for the posts was so painful (I never did get around to writing that markdown parser or syntax highlighter).
Eventually I started posting on other platforms, and only continued to post on my GitHub page because I would get contributions for it. Actually, the only reason I didn’t delete the GitHub page was because I would lose past contributions for it. And then I realised I have a few other repos on my GitHub that I only created to get a few easy commits out of, but that never lead anywhere.
I wanted to delete them, but I couldn’t.
The truth is, I’ve wanted to end my streak for a few months now. More
than once I’ve sat there at 11:45pm with no commits, thinking
“today’s the day I finally do it”. But I always talked myself out of
it—
But now that it’s been taken away for me, I feel a huge weight lifted off my shoulders. I don’t have to be enslaved by the number any more. I can go on committing code when I feel like it. And sure, that’ll probably still end up being most days, but perhaps some days I’ll have something better to do. And I can finally delete those useless repos now. Actually I imagine that by the time you read this, if you check my GitHub profile my streak will be broken up from deletions.