Believe it or not, this was my first time using Git. I wanted to talk about my experiences with it.
I have developed many pieces of software in the past. However, I have never used a Git repository to store the code. This is mainly because I never found a need to. I’ve known about what Git does for a while and found it to be most useful if I were collaborating with other people. While Git does offer some nice features for the solo developer, I never got round to trying it myself. That is, up until a month ago.
I was contacted by a member of Bleeping Computer asking me if I’d be okay collaborating with them on the development of the MHWT, a software that I am supporting which helps malware helpers prepare posts to help others get rid of viruses from their computers. So, I agreed and he suggested I put it up on Git, which is how I got to start using it.
I used GitLab as my repository for one simple reason: GitHub does not support private repositories, which means that anyone on the internet can look at your source code. While this might not be a bad idea, the putting the MHWT source online causes a problem. The MHWT contains a syntax helper. This is basically a list of commands from some of the specialized tools that malware helpers use. It would be a very bad idea if the public were able to see what those commands are.
After the respository was set up online, I had to get a program to run Git commands on my own PC. I opted for PortableGit, because it meant I could move it around with me. As I work on a rotation basis, this gets a little trick. I’m at home 50% of the time, and at camp the other 50%. This makes sync’ing relatively difficult unless I’m using portal applications.
Once that was done, the fun part began: setting everything up on your PC. I used to basic commands here to get everything set up, which worked fairly well for me.
So, what are my experiences with Git? I think the system is great for collaborators on the same project. The ability to create branches and work on them without affecting the main branch is great when people want to work on multiple features at the same time. Would I use Git again for my personal projects if I am not collaborating with anyone else? Probably not.
My main reason for not using Git probably stems from my lack of confidence with the system itself. I’m always a bit hesitant when I want to merge branches or pull changes. I always have that thing at the back of my head asking “What if you did this wrong and you lose all your work?”. Perhaps a little more practice with Git might calm these nerves. But I never saw Git as critical, especially for someone like me. I see myself as a hobbyist programmer.
All-in-all, Git is great if you want to work with others. It’s also great if you want a web-based solution for sync’ing your source code. But for me, I’ll just stick with the good ol’ copy/paste when I want to sync my projects across multiple computers.