Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

All source materials used to create and distribute products or customizations are kept under some form of version control with a history of changes.


Version control is a system that records changes to a file or set of files over time so that you can recall specific versions laterprior states. You can compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more.

Another aspect of version control, branching, allows for parts of software to be developed in parallel. Using branches, contributors can isolate changes without destabilizing the codebase, for example, fixes for bugs, and safely repair defects, create new features, and so forthwork on other modifications. These changes may be later merged (resynchronized) into another branch or the main line of development. The main line of development is often referred to as the trunk. 

Version control plays an essential role in a continuous delivery toolset. The toolset is designed to detect problematic changes as soon as possible. With version control, we can identify the exact nature of the change , so that we can and then take appropriate action. 

Version control enables several other capabilities, including a technical change log. Without version control, collaborating on a large software system is all but impossible. 

There are several version control systems that you can host on premises or in the cloud. 

What you need to decide

  • Git or something else?
    • Today most teams choose Git as their version control system. There are other choices, but you can safely choose Git unless there is another consideration.
  • Cloud or on premises?
    • Not long ago, hosting version control off-premises was unthinkable. Today, there are several trusted cloud options, including Bitbucket, Visual Studio Team Services, and AWS CodeCommit. 
  • Git or something else?
    • Today most teams choose Git as their version control system. There are other choices, but you can safely choose Git unless there is another consideration.

Your choice of issue tracker can help drive your choice of version control systemchoices, and you may want to consider both in tandem.