Skip to content

Instantly share code, notes, and snippets.

@patrick-ausderau
Last active June 27, 2016 17:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patrick-ausderau/3acdc2b1fd3b2c4cad75fd134495d8dc to your computer and use it in GitHub Desktop.
Save patrick-ausderau/3acdc2b1fd3b2c4cad75fd134495d8dc to your computer and use it in GitHub Desktop.
Version Control Repository

##Git

Version Control such as Git allow to track history of files and folder. In every history points (also called version or revision) users will know who did the changes, when and with revision comments, what. Each revisions can be compared, restored and depending on the type of files merged. Unlike the history of file provided by some editor tools where only one file is concerned, a revision can handle a set of files and folders. Most of the version control tools offer option to work offline (e.g. the user edit files during his fight) and later share the changes online with the others. When two (or more) users have edited the same line of the same file, the version control tools will propose different strategies to solve the conflict (but mostly human intervention).

Version Control tools also provide a powerful feature called branches to have files in different states at the same time. A classical example in computer science is to have a "stable" version of the software and many parallel branches in which the developers try to implement new features. Then, once a new feature is fully developed and tested, it can be merged back to the stable main branch, making a new official version of the software so each clients can update and benefit from (without having suffered of the instable and buggy intermediate development revisions). At the same time, the others developers can take these changes to their branches so making the integration of all the new features much easier.

As part of the Knork EU project, we described our experience with GitHub to store, edit, publish and make publicly accessible for the foreseeable future, the content produced during the project. GitHub is an online Git repository hosting service. It offers all of the version control functionalities of Git as well as adding its own features such as bug tracking, wiki and website for each project.

It exist few other Git (or other version control tool) repository hosting services. Some that better respect the users' privacy. For example, GitLab will offer unlimited private repositories for each users. And the GNU Savannah will offer hosting for Free Software projects that could be edited and accessed using a pseudonym through an "anonymizer" network like Tor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment