This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.
Seven version control best practices for developers
Version control saves versions of code which can then be reused, or in case of issues, applications can be reverted to older working versions. Popular version control solutions used today are Git, Subversion (SVN), Perforce, and others. Version control is vital at the enterprise software development level where you have a vast number of disparate teams. It is an every-day part of the developer’s routine, but also helps organizations achieve some high-level business goals such as increasing efficiency and improving quality and reliability of software.
Today I want to share some best practices for developers related to version control. These may seem like no-brainers, but after 15 years in the industry, you’d be surprised how many folks I’ve seen struggle to follow these guidelines. These tips benefit the developers by cutting down redundant work, increasing efficiency, and helping to prevent mistakes and errors. Following these tips will also promote teamwork and better collaboration as all of these habits make it easier for different people to work on the same code.
Best practices for version control users
- Make small changes. In other words, commit early and commit often. Of course, be careful not to commit any unfinished work that could break the build.
- Don’t commit personal files. These could include application settings or SSH keys. Often, these are committed accidentally but can cause problems later down the line when other team members are working on the same code.
- Update often and right before pushing to avoid merge conflicts.
- Verify your code change before pushing it to a repository; ensure it compiles and tests are passing.
- Pay close attention to commit messages as these will tell you why a change was made. Consider commit messages as a mini form of documentation for the change.
- Link code changes to work items. This will concretely link what was created to why it was created or changed by providing traceability across requirements and code changes.
- No matter your background or preferences, be a team player and follow agreed upon conventions and workflows. Consistency is important and helps ensure quality making it easier for team members to pick up where you left off, to review your code, to debug, etc.
Using version control of some kind is a must for any organization and following the guidelines above can help developers avoid needless time spent fixing errors and mistakes. These practices also help organizations reap greater benefits from having a good version control system.