Version Control (aka Revision Control) is the management of changes to data. Most often source code, documents, or other shared data. It also provides a means of quickly finding what exactly was changed which can be very useful when a bug has been introduced into a new version of a program, or concern is raised about a contributor.
In it's simplest form, it can be simply keeping copies of old files before making changes. Old versions can be compared to new versions with operating system tools like FC in DOS/Windows and DIFF for *nix.
Git, the defacto standard for version control; is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. Unlike Git, which is strictly a command-line tool, GitHub provides a web-based graphical interface and desktop as well as mobile integration. It also provides access control and several collaboration features such as wikis, task management, and bug tracking and feature requests for every project
Modern, feature rich version control is supplied by programs like GIT^ or SourceGear Vault^, and is rapidly becoming an expected feature in online content storage systems like dropbox.com and Google Drive^. Drive however, has a very easy to use interface which allows collaboration and easy change tracking. Even Wikipedia.com maintains a list of past versions of each article.
Version Control is most critical in programming where it allows developers to understand the history of a piece of code, to branch out in new directions without fear of losing their way (because they can always go back), and to more easily find new bugs by looking at what changed in the code when the bug first appeared. +
Choosing when to save (or "commit") changes can be automated or manual depending on the system. Some will save regularly based on time, or how much has changed, or save when there haven't been any changes for a while. Most programmers choose to save manually, when it makes sense for them. The advantage of manual commits is that each can represent a logical point in the development of the project. For example, you wouldn't want to commit after making a change that causes other parts of the code to fail, instead waiting until all the changes required to add a feature or fix a bug have been complete. On the other hand, if the changes are extensive, and will require a lot of work, you might want to commit after you change each part of the code. When to commit is a judgment call, up to the programmer. +
Changes can be tracked individually for each file, or across multiple files in a project (called a "repository" in GIT). Multi-file tracking is important for work where the files are interrelated as they are in programming. +
|file: /Techref/method/versioncontrol.htm, 4KB, , updated: 2017/9/18 14:43, local time: 2019/1/17 04:04,
|©2019 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?|
<A HREF="http://www.piclist.com/techref/method/versioncontrol.htm"> Version Control Methods</A>
|Did you find what you needed?|
PICList 2019 contributors:
o List host: MIT, Site host massmind.org, Top posters @20190117
* Page Editors: James Newton, David Cary, and YOU!
* Roman Black of Black Robotics donates from sales of Linistep stepper controller kits.
* Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters.
* Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated!
* Contributors: Richard Seriani, Sr.
Welcome to www.piclist.com!