加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Git前时代:使用CVS进行版本控制

发布时间:2018-12-07 21:53:05 所属栏目:Windows 来源:Two-bit History
导读:副标题#e# GitHub 网站发布于 2008 年。如果你的软件工程师职业生涯跟我一样,也是晚于此时间的话,Git 可能是你用过的唯一版本控制软件。虽然其陡峭的学习曲线和不直观地用户界面时常会遭人抱怨,但不可否认的是,Git 已经成为学习版本控制的每个人的选择

为此,你必须将你的目录导入为新的 CVS 项目。可以使用 import 命令:

  1. $ cvs -d ~/sandbox import -m "" colors colors initial
  2. N colors/favorites.txt
  3.  
  4. No conflicts created by this import

这里我们再次使用 -d 标志来指定存储库的位置,其余的参数是传输给 import 子命令的。必须要提供一条消息,但这儿没必要,所以留空。下一个参数 colors,指定了存储库中新目录的名字,这儿给的名字跟检入的目录名称一致。最后的两个参数分别指定了 “vendor” 标签和 “release” 标签。我们稍后就会谈论标签。

我们刚将 colors 项目拉入 CVS 存储库。将代码引入 CVS 有很多种不同的方法,但这是 《Pragmatic Version Control Using CVS》 一书所推荐方法,这是一本关于 CVS 的程序员实用指导书籍。使用这种方法有点尴尬的就是你得重新检出check out工作项目,即使已经存在有 colors 此项目了。不要使用该目录,首先删除它,然后从 CVS 中检出刚才的版本,如下示:

  1. $ cvs -d ~/sandbox co colors
  2. cvs checkout: Updating colors
  3. U colors/favorites.txt

这个过程会创建一个新的目录,也叫做 colors。此目录里会发现你的源文件 favorites.txt,还有一个叫 CVS 的目录。这个 CVS 目录基本上与每个 Git 存储库的 .git 目录等价。

做出改动

准备旅行。

和 Git 一样,CVS 也有 status 命令:

  1. $ cvs status
  2. cvs status: Examining .
  3. ===================================================================
  4. File: favorites.txt Status: Up-to-date
  5.  
  6. Working revision: 1.1.1.1 2018-07-06 19:27:54 -0400
  7. Repository revision: 1.1.1.1 /Users/sinclairtarget/sandbox/colors/favorites.txt,v
  8. Commit Identifier: fD7GYxt035GNg8JA
  9. Sticky Tag: (none)
  10. Sticky Date: (none)
  11. Sticky Options: (none)

到这儿事情开始陌生起来了。CVS 没有提交对象这一概念。如上示,有一个叫 “提交标识符Commit Identifier” 的东西,但这可能是一个较新版本的标识,在 2003 年出版的《Pragmatic Version Control Using CVS》一书中并没有提到 “提交标识符” 这个概念。 (CVS 的最新版本于 2008 年发布的。5

在 Git 中,我们所谈论某文件版本其实是在谈论如 commit 45de392 相关的东西,而 CVS 中文件是独立版本化的。文件的第一个版本为 1.1 版本,下一个是 1.2 版本,依此类推。涉及分支时,会在后面添加扩展数字。因此你会看到如上所示的 1.1.1.1 的内容,这就是示例的版本号,即使我们没有创建分支,似乎默认的会给加上。

一个项目中会有很多的文件和很多次的提交,如果你运行 cvs log 命令(等同于 git log),会看到每个文件提交历史信息。同一个项目中,有可能一个文件处于 1.2 版本,一个文件处于 1.14 版本。

继续,我们对 1.1 版本的 favorites.txt 文件做些修改(LCTT 译注:原文此处示例有误):

  1. blue
  2. orange
  3. green
  4. cyan
  5.  
  6. definitely not yellow

修改完成,就可以运行 cvs diff 来看看 CVS 发生了什么:

  1. $ cvs diff
  2. cvs diff: Diffing .
  3. Index: favorites.txt
  4. ===================================================================
  5. RCS file: /Users/sinclairtarget/sandbox/colors/favorites.txt,v
  6. retrieving revision 1.1.1.1
  7. diff -r1.1.1.1 favorites.txt
  8. 3a4
  9. > cyan

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读