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进行版本控制的著名互联网巨头是Twitter和Quora 。 实际上,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.

近年来,许多流行的开源组织( 如Rails和PHP)已从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 。 这是一个商业版本控制系统,被NVIDIA和Ubisoft等公司使用。 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控制软件

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

  1. gitlab linux版本下载,Linux安装GitLab版本控制软件

    Linux安装GitLab版本控制软件 系统环境:centos6.5 IP地址:192.168.1.243 内存:至少为1G,之前虚拟机的内存只有512M,安装的时候一直报错,日了Dog了. 安装成功 ...

  2. [转]版本控制软件Subversion的使用笔记(WIN)

    一. 软件下载并安装 1.  服务器 1 )下载 Subversion 服务器端软件,网址: http://subversion.tigris.org/ .在下载页面找到 视窗系统 NT, 2000, ...

  3. Git前世今生-版本控制软件的发展

    版本控制软件发展至今已有40多年的历史. 最早的版本控制软件是1972年由Marc J. Rochkind开发的SCCS (Source Code Control System),通过将不同版本下的文 ...

  4. 写学位论文时使用版本控制软件TortoiseSVN

    今天读微博,无意中看到一条微博,建议使用TortoiseSVN来对自己的学位论文进行版本控制,是一个码农写的.我认为很好,就用了一番,感觉不错. TortoiseSVN在以前被我认为是很高大上的东西, ...

  5. 【22/03】为什么要学git分布式版本控制软件及基本操作

    碎碎念: 虽然说每次创建github仓库再push就几句命令,但是总是忘,于是整理了一下,理解记忆每条命令的含义,和清晰化流程很重要!!!!但最重要的就是我们为什么要学, 为什么要用, 这样在我们自己 ...

  6. 版本控制软件SourceAnywhere的使用感想

    SourceAnywhere Standalone是一款基于SQL的应用程序的源代码/版本控制软件,可完全替代VSS.它不仅具备VSS的所有功能特征,而且还提供了更快,更可靠,更安全的远程获取功能.本 ...

  7. SVN版本控制软件--sgg学习笔记

    1 svn介绍 1.1 项目管理中的版本控制问题 ​ 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解决代码冲突困难 ...

  8. 波尔远程控制软件与网络人远程控制软件大比拼

    波尔远程控制软件与网络人远程控制软件大比拼 日期:2015-08-19     作者:mgs   波尔远程控制软件与网络人远程控制软件同为远程控制软件,它们各自有什么优点呢?到底是波尔远程控制软件比较 ...

  9. 《构建高可用VMware vSphere 5.X虚拟化架构》——第2章 构建高可用vCenter Server 2.1vCenter Server版本以及运行环境的选择...

    本节书摘来自异步社区<构建高可用VMware vSphere 5.X虚拟化架构>一书中的第2章,第2.1节,作者:何坤源著,更多章节内容可以访问云栖社区"异步社区"公众 ...

最新文章

  1. 3.Linux 文件的压缩与打包
  2. java都市男人心痒痒_说的男人心痒痒的情话 让男人心痒痒的话,谁能帮我弄几句呀?...
  3. 2020-12-08 Halcon初学者知识:【3-1】Halcon的语法
  4. python编写程序模拟硬币的投掷、假设0表示硬币的反面_修改了Python中的硬币投掷程序,无法完成循环...
  5. 培训第二弹 全国大学生智能汽车竞赛百度竞速组预告
  6. delphi 回调函数例子 用函数过程作为参数
  7. GCC选项_-Wl,-soname
  8. raspberry pi_修改磁盘映像以创建基于Raspberry Pi的homelab
  9. 奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly
  10. c#后台如何导出excel到本地_C# 导出 Excel 的各种方法总结
  11. java学习(eclipse环境的使用)
  12. 拉丁超立方抽样方法 LHS
  13. vue mint swper
  14. android手机锁屏了打不开怎么办?
  15. sql 凭证明细表 科目余额表_转用友科目余额表sql和软件中的一样
  16. win10下的Cmd命令的初步认识
  17. java 判断日期是同一天_java判断两个日期是否同一天的方法
  18. python爬取淘宝销量_python爬取淘宝排名
  19. 希望成功,给点积分,才有勇气开VIP
  20. 聊一聊基础的CPU寄存器~

热门文章

  1. 采购订单管理的四种常见类型
  2. uni-app封装缓存过期方法
  3. 如何查看composer版本号
  4. jmeter如何添加MD5插件
  5. 动态规划之背包问题——01背包
  6. 修改Windows server远程桌面连接端口3389
  7. ESP8266-Arduino编程实例-MMA8451加速度计驱动
  8. MyBits学习总结(1)--- MyBits简介、编写一个MyBatis程序
  9. 推荐一款很好的全平台电子书软件:StartReader
  10. oracle10503事件,使用10203事件来跟踪oracle块清除