Version Control Software

Version Control Software (版本控制软件)

Definition

Definition (定义)

Version Control Software (VCS) is a beneficial tool contributing to a collaborative software team workflow. It is a must in case of a team with multiple developers. Each company adopts the VCS that suits best to its strategy. (版本控制软件( VCS )是一种有助于协作软件团队工作流程的有益工具。对于拥有多个开发人员的团队来说,这是必不可少的。每家公司都采用最适合其战略的VCS。)

Below, the list of the best VCSs are presented. (下面列出了最佳VCS。)

Git

Watch a video course Git & GitHub - The Practical Guide

Git is one of the most popular version control software available in today’s market. Git is a speedy and efficient distributed version control system that is easy to learn. It can handle projects of any size, from small to huge ones. The distinctive features of Git are the following: cheap local branching, convenient staging areas, and multiple workflows. It is free open-source software.

Cons of Git Despite its advantages, Git also has some cons. First of all, in the case of large binary files, the support is weak. Interactions can lose their speed because of large repositories that have a huge history. Besides, commands are unpredictable.

CVS The second most popular version control system after Git is CVS (Concurrent Versions System), which has been preferable for developers for a long time. CVS, with its user-friendly architecture, helps developers record the history of files and documents. By default, it handles projects from small to middle size, and in order to support larger ones, it must be configured and extended. You can use CVS on almost every hardware platform and Operating system. It is free open-source software.

Cons of CVS CVS has some cons too. Particularly, it doesn’t check the integrity of the source code repository. There is no support for atomic commits and check-outs, as well as for merge tracking and signed revisions.

SVN SVN (Apache Subversion) is the next VCS that has been widely used over the past decade. SVN is a centralized version control system, which has the following features: versioned directories, atomic commits support, merge tracking, the existence of copying, deleting, moving and renaming versions, client-server repository model, metadata of free-from version, full MIME support, file locking, etc.. It is free open-source software.

Cons of SVN The time of file modifications aren’t stored, some problems with filename normalization and the lack of support for signed revisions.

Mercurial Mercurial is a distributed version control software written in python. This fast working software supports projects of any size and type. Its interface is quite predictable, which makes it easy to learn. It supports the following operating systems: Unix-like, Windows, and macOS. It strongly supports binary files and has excellent merging and branching capabilities. It is free open-source software.

Cons of Mercurial Python is required for all the add-ons. It doesn’t allow partial check-outs and doesn’t deal well with extra extensions.

Monotone Monotone is a distributed version control system that is written in C++. It’s a single-file transactional VSC that provides completely disconnected operation. Merging is history-sensitive, branches are quite light. Monotone supports a productive peer-to-peer synchronization. It understands history-sensitive merging, requires low maintenance, values the integrity of code review, and supports 3-way merges. It runs on several platforms: Linux, Solaris, Mac OS X, Windows, and other Unixes. It is free open-source software.

Cons of Monotone Users cannot check out or commit from behind a proxy because of the absence of the HTTP protocol. Performance issues are observed for particular operations. The most obvious of them is the initial pull.



请遵守《互联网环境法规》文明发言,欢迎讨论问题
扫码反馈

扫一扫,反馈当前页面

咨询反馈
扫码关注
返回顶部