lsul2014控制软件_2014年的版本控制软件:您有什么选择?

lsul2014控制软件

Imagine software that creates checkpoints in your work and allows you to go back to those checkpoints when you want. This essentially means revisiting your work back in time. Once you are back to such a checkpoint, you can also deviate from the original path that you chose. This is exactly what version control systems do for you!

想象一下在您的工作中创建检查点并允许您在需要时返回到这些检查点的软件。 从本质上讲,这意味着及时回顾您的工作。 返回到这样的检查点后,您也可以偏离选择的原始路径。 这正是版本控制系统为您服务的!

When using version control, the main code is present on one central repository or distributed over many repositories. Everyone working on the code has a local copy of what they are working on in their local or remote systems. This local copy may be a file, some files and directories or the whole repository, depending on the software. Version control system software helps in the management of this code. Besides that, non programmers can also use such software, for example, to manage documents.

使用版本控制时,主要代码位于一个中央存储库中或分布在许多存储库中。 每个在代码上工作的人都拥有他们在本地或远程系统中正在工作的内容的本地副本。 此本地副本可以是文件,某些文件和目录,也可以是整个存储库,具体取决于软件。 版本控制系统软件有助于管理此代码。 除此之外,非程序员也可以使用这种软件来管理文档

In this post, I will offer a quick review of version control software options that we currently have at our disposal. Version control software is broadly divided into two categories — centralized and distributed. Centralized systems have a single central copy of the code on a server and developers commit changes to this central copy only. In distributed systems, every user has a copy of the code, with full history of the project.

在这篇文章中,我将快速回顾一下我们目前可以使用的版本控制软件选项。 版本控制软件大致分为两类-集中式和分布式。 集中式系统在服务器上具有代码的单个中央副本,开发人员仅将更改提交到该中央副本。 在分布式系统中,每个用户都有一个代码副本以及项目的完整历史记录。

吉特 (Git)

Git, which which is a distributed version control system, is arguably the most popular version control system today. It was developed by Linus Torvalds to address the issue of speed with existing version control systems. A wide range of organizations worldwide prefer Git to manage their code, as Git provides a huge range of features.

Git是分布式版本控制系统,可以说是当今最受欢迎的版本控制系统。 它是由Linus Torvalds开发的,旨在解决现有版本控制系统的速度问题。 全球各地的许多组织都希望Git来管理其代码,因为Git提供了广泛的功能。

With the emergence of popular websites like GitHub, GitLab, and BitBucket, code review using git has become very easy. That is why new organizations are choosing git over others.

随着诸如GitHub,GitLab和BitBucket之类的流行网站的出现, 使用git进行代码审查变得非常容易 。 这就是为什么新组织选择git而不是其他组织的原因。

Notable internet giants who use Git for version control are Twitter and Quora. In fact, Twitter’s open source work is on GitHub. As of March 2014, their Bootstrap project is the most popular repository on GitHub with about 67,000 stars and over 24,000 forks!

使用Git进行版本控制的著名互联网巨头是TwitterQuora 。 实际上,Twitter的开源工作在GitHub上 。 截至2014年3月,他们的Bootstrap项目是GitHub上最受欢迎的存储库,大约有67,000个星和24,000个分支!

In case you’re interested in the philosophy behind the development of Git, here is a video of Linus Torvalds’ Google tech talk on Git. He talks of the issues with CVS and SVN and how Git solves these.

如果您对Git开发背后的哲学感兴趣,请观看Linus Torvalds在Git上的Google技术讲座视频 。 他谈到了CVS和SVN的问题以及Git如何解决这些问题。

If you’re new to Git, you can try this beginners tutorial.

如果您不熟悉Git,可以尝试本入门教程

颠覆(SVN) (Subversion (SVN))

Subversion was created as an alternative to CVS (Concurrent Versions System), which has been around for about three decades. Thus, Subversion offers the best features of CVS with some improvements. Subversion puts emphasis on centralized code, whereas other popular version control systems today are “decentralized” (or distributed).

Subversion是作为CVS (并行版本系统)的替代产品而创建的, CVS已经存在了大约三十年。 因此,Subversion通过一些改进提供了CVS的最佳功能。 Subversion强调集中化代码,而当今其他流行的版本控制系统都是“分散化”(或分布式)的。

Although it overcomes a few of the deficiencies of CVS, Subversion has a few drawbacks of its own. Subversion is often found to be slow and lacks certain features of its counterparts. For instance, subversions branching lacks many features in comparison with Git or Mercurial.

尽管Subversion克服了CVS的一些不足,但它也有一些缺点。 颠覆通常被发现是缓慢的并且缺乏其对应的某些特征。 例如,与Git或Mercurial相比,subversions分支缺少许多功能。

With Subversion, branches are created centrally rather than in your local machine, which means there can’t be two branches with the same name. As Linus explains in his talk linked above, there can be branches from “test1” to “test5000” too, making it very difficult to understand! Subversion also implements renaming of files in a weird way. It makes a copy of the file or directory to the new name and deletes the one associated with the old name.

使用Subversion,分支是集中创建的,而不是在本地计算机上创建的,这意味着不能有两个具有相同名称的分支。 正如Linus在上面的链接中所解释的那样,也可能存在从“ test1”到“ test5000”的分支,这很难理解! Subversion还以一种怪异的方式实现了文件的重命名 。 它将文件或目录的副本复制到新名称,然后删除与旧名称关联的文件或目录。

In recent years, many popular open source organizations like Rails and PHP have moved on from Subversion to Git.

近年来,许多流行的开源组织( 如RailsPHP)已从Subversion迁移到Git。

Why would you want to use Subversion over Git or Mercurial today if large organizations are moving away from it? Subversion enables you to restrict the access to certain directories for specific users using the path based authorization. The same structure is also possible in Git, but you would have to split your main repository into many smaller ones and restrict access to one of the required smaller repositories. This makes the whole process a bit complex.

如果大型组织正在远离它,为什么今天要使用Subversion over Git或Mercurial? Subversion使您可以使用基于路径的授权来限制特定用户对某些目录的访问。 在Git中也可以使用相同的结构,但是您必须将主存储库拆分为多个较小的存储库,并限制对所需的较小存储库之一的访问。 这使整个过程有点复杂。

For an intro to Subversion you can check out this free book, available online in HTML format or as a PDF.

有关Subversion的介绍,您可以免费阅读这本免费书籍该书籍可以HTML格式或PDF格式在线获得。

水银 (Mercurial)

Mercurial, much like Git, is a free and distributed open-source system. Mercurials main objectives are high performance, scalability, along with advanced branching and merging capabilities. It has advantages similar to those of Git, but there are certain disadvantages too.

与Git一样,Mercurial是一个免费的分布式开源系统。 Mercurial的主要目标是高性能,可伸缩性以及高级分支和合并功能。 它具有与Git相似的优点,但也有某些缺点

Although it started out at roughly the same time as Git, Git has the edge at present. One organization that has shifted from a Subversion server (with a Git mirror) to Mercurial is Facebook. The main reason they chose mercurial over Git is Mercurial’s clean, modular, Python code that was easier to extend. As a result, Facebook engineers contribute actively to Mercurial.

尽管它与Git大致同时开始,但Git目前具有优势。 从Subversion服务器(带有Git镜像)转移到Mercurial的组织是Facebook 。 他们选择Guri而不是Git的主要原因是Mercurial的干净,模块化,易于扩展的Python代码。 结果,Facebook工程师为Mercurial做出了积极贡献。

If you prefer Mercurial over Git, you can host your code on BitBucket.

如果您喜欢Mercurial而不是Git,则可以将代码托管在BitBucket上

For a beginner’s tutorial on Mercurial, you can check out Hg Init.

对于Mercurial的初学者教程,您可以查看Hg Init

值得一提 (Notable Mentions)

Although we have covered the most popular version control systems, there are quite a large number of such systems. One, already mentioned, is CVS (Concurrent Versions System), which has been around since the 80s. It was widely used until the emergence of Subversion and Git. CVS allowed users to register their changes on a first-come first-serve basis and allowed only the latest version of the code to be worked upon and edited. This meant that you needed to commit your code first if you didn’t want to incorporate everyone else’s changes!

尽管我们已经介绍了最流行的版本控制系统, 但还是有很多这样的系统 。 已经提到的一个就是CVS(并行版本系统) ,它自80年代以来就已经存在。 它被广泛使用,直到Subversion和Git出现。 CVS允许用户以先到先得的方式注册其更改,并且仅允许处理和编辑最新版本的代码。 这意味着如果您不想合并其他所有人的更改,则需要先提交代码!

Another version control system that I should mention is Perforce. This is a commercial version control system, used by companies like NVIDIA and Ubisoft. Perforce also has a Git plugin to integrate with your existing Git repositories.

我应该提到的另一个版本控制系统是Perforce 。 这是一个商业版本控制系统,被NVIDIAUbisoft等公司使用。 Perforce还具有一个Git插件 ,可与您现有的Git存储库集成。

Yet another option is Bazaar. Like Git and Mercurial, Bazaar is a distributed version control system and is promoted under the the tagline “version control for human beings”. If you are interested, you can check out their well written documentation.

另一个选择是集市 。 像Git和Mercurial一样,Bazaar是一个分布式版本控制系统,并在标语“人类版本控制”下得到推广。 如果您有兴趣,可以查看他们写得很好的文档

结论 (Conclusion)

As evident from this list, you have a lot of options when it comes to version control systems. What you choose to use is largely up to your requirements and to a certain extent, your taste. Generally, people will opt for the system that they have some experience with already. And I should note that many other services like Google Docs provide basic revision control and you should consider a simpler service like that if your needs are minimal.

从此列表可以明显看出,涉及版本控制系统时,您有很多选择。 您选择使用的东西在很大程度上取决于您的要求,并在一定程度上满足您的口味。 通常,人们会选择已经有一定经验的系统。 而且我应该注意,许多其他服务(例如Google Docs)都提供基本的版本控制,如果您的需求很少,则应考虑使用一种更简单的服务。

If you have experience with any alternative options for version control, please let us know in the comments.

如果您有任何其他版本控制选项的经验,请在评论中告知我们。

翻译自: https://www.sitepoint.com/version-control-software-2014-what-options/

lsul2014控制软件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值