版本控制系统VCS
VCS介绍
Version Control Systems
版本控制是指对某些(通常是基于文本的)文档的修订编目。虽然术语“版本控制”通常与程序员相关,但它同样适用于作家、记者甚至大学生。自动跟踪文档修订和版本的常见服务示例包括 Google Docs 和 Dropbox。
试试看!在 Google Docs 中,只需点击“文件”->“查看修订历史”。在 Dropbox 中,只需右键单击已修改的文件,然后单击“查看以前的版本”。
Below is a list of these VCS, categorized by generation:
First Generation
SCCS (Source Code Control System)
RCS (Revision Control System)
Second Generation
CVS (Concurrent Versions System)
SVN (Apache Subversion)
Perforce Helix Core
Third Generation
Git
Mercurial
BitKeeper
Darcs (Darcs Advanced Revision Control System)
Monotone
Bazaar
Fossil
Pijul
参考 he Evolution Of Version Control System (VCS) Internals
Subversion (SVN)、Git、Mercurial 和 Bazaar 都是积极开发的版本控制软件解决方案 目前IDEA支持Subversion (SVN)、Git、Mercurial Git, GitHub, SVN, Mercurial, Perforce
Git vs Mercurial vs SVN(Subversion)
SVN 与 Git 和 Mercurial 不同,因为它是一个所有用户都必须拉取和提交的单一存储库。
Git 和 Mercurial 有一个分布式模型。这意味着每台计算机上都有一个存储库,并且通常有一个“官方”存储库,人们会选择向其提交更改并从中提取。
Git 和 Mercurial 非常相似。我更喜欢 Mercurial,因为我发现它更易于使用。对于 2 人团队,我会推荐 Mercurial,但这只是我的意见。如果您不熟悉版本控制,那么您仍然需要花时间学习使用任何选项,但 Mercurial 对我来说似乎是最简单的。
要启动 Mercurial 存储库,您所要做的就是打开一个 shell 并 cd 到您想要进行版本控制的目录,然后输入hg init. 这将创建存储库。要将文件夹中的所有内容添加到存储库,请键入hg add .。 以下是一些其他的各种命令:
要提交本地更改: hg commit -m "Descriptions of changes"
从服务器拉取到最新版本: hg pull
要推送本地更改: hg push
首先,它们是用什么语言编写的。我使用 Git 和 Mercurial 的经历非常相似,但我知道如果我想调整 Mercurial,我可以做到,因为它是用 Python 编写的。Git 至少有点用 C 语言,我不太熟悉。
Git 和 Mercurial 就是所谓的分布式。每个副本都是平等的,它们可以在临时基础上相互推送和拉取(使用该术语)更改。另一方面,Subversion 由一个单一的中央存储库组成,每个工作副本都是该中央服务器的从属,推拉(在这种情况下是提交和更新)来自它和它本身的更改。
为几个人安装 Git 或 Mercurial 包括获得对同一服务器的 SSH 访问权限并安装几个软件包。而对于 SVN,据我所知,您需要在 Apache 下配置和运行一个实际的服务器应用程序,然后使用 SSL 证书和 .htaccess 等来保护它。
对于我所有的个人项目,我使用 Mercurial 或 Git。如果我与一个大型团队一起工作,我可能会选择 Subversion,因为您可以获得集中式身份验证和托管。但是对于两个人,我会选择分布式的一个,因为这样您就不必搞乱集中式身份验证和托管。:-)
Git 和 Mercurial 非常相似(但足够不同以保证谨慎)。另一方面,SVN 则完全不同:前两个是分布式 VCS,因此它们不需要中央服务器,而 SVN 则需要。一般来说,许多项目都在向分布式系统发展。
对于您的小项目,使用 Git 或 Mercurial 可能会更好。你选择哪一个本质上是一个品味问题,尽管我自己更喜欢 Git(并且更熟悉它)。您根本不需要设置服务器:您可以通过 SSH 推送/拉取更改,甚至可以通过电子邮件向彼此发送补丁(这可以直接从 VCS 完成,但有点麻烦)。您可以随时设置中央服务器,所有更改都将在那里。您可以使用例如 GitHub 或 Gitorious 来托管您的项目(如果您使用 Git,我不了解 Mercurial)。
参考 Git vs Mercurial vs SVN 2020 Version Control Software Comparison: SVN, Git, Mercurial Git vs Mercurial vs SVN (Subversion) Git vs. SVN: Which version control system is right for you? Mercurial vs. Git: How Are They Different? version-control-systems-keep-your-code-in-order
Github Github于2008年上线,目前,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
Bitbucket Bitbucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
Coding Coding.net 为软件开发者提供基于云计算技术的软件开发平台,包括项目管理,代码托管,运行空间和质量控制等等。
GitLab GitLab 提供丰富的 Git 代码管理功能,是目前主流的企业内部 Git 代码仓库解决方案。
Last updated
Was this helpful?