199 Days of Git
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.