When best practices are considered for development, version control has become a normal facet of any modern coding. Many integrated development environments now include integration to some version control by default. In fact, Git is often assumed as the tool of choice. That being said, we still need to use these tools properly.
Version Control Requires Regular Usage
The most common failing I find with new developers is a lack of actually using the tool correctly. Although committing code is rarely more than a few button clicks and providing a comment, it still seems too much for many coders. I say this because may shops have code commits on a weekly or less frequent basis. I also see comments that are empty or useless (e.g., “fixed some bugs”) in too many repositories.
Good use of version control includes meaningful comments on every commit and daily commits at least. This approach does not mean code must be working when for each commit, just that the changes are submitted.
Branches and Tags
Modern version control tools provide an easy way to work on a branch of code. This should be embraced and used where possible. In fact, I have come across many teams that create a branch for every ticket/bug, and this works great for a custom build of any release. The fixes that matter can be included while those that have prerequisites or require further testing can be held for a future version.