The most popular questions about git always seem to be the same: When should I commit? How often should I commit? What exactly is a branch in my project? What is a tag?
Before getting into dirty grounds (and we’ll eventually get there) you should know a little about best practices when using git.
Note: If you haven’t read the post A Useful Git Tutorial – Part I you can check it here.
I’m sure the questions above have different answers depending on who you ask, but if you don’t have your own answers you’ll get them when you define your workflow.
Like most people I used to use μTorrent
to download files using the Bittorrent
protocol or like they say now, to download torrents
Since version 3.x of μTorrent some people like me got away from it, since it became bloatware. That all started when it was purchased by BitTorrent, Inc., and the client has gone down hill from there. It’s still the most popular torrent client on the planet though.
So I moved to qBittorrent which is a wonderful client, but it lacks a feature that I really use and need: the ability to specify cookies when downloading a torrent from a URL using the WebUI.
I also wanted another little feature that I really need: the forms have to support the autocomplete feature of the internet browsers. So when I fill a field in a form, the browser saves it for future use. For this to work the forms need to be actual forms, and you’ll see qBittorrent doesn’t use them.
Since qBittorrent is an Open Source project, it’s pretty easy to implement new features on.
You know what I really hate about git? Calling working directories as repositories and real repositories as bare repositories. This is somehow confusing for people like me coming from older and outdated control version systems like CVS or SVN.
But if you keep in mind what I said above and give git a chance you’d realize is the most powerful control version system ever created.
There are tons of git tutorials out there but I’m pretty sure none of them cover how 90% of the people use git: clone an existing project, make their own changes and try to keep them updated with the original project. Eventually submit patches.