10.5.1. VCS 命令的比较

这里有原生 VCS 命令的简单比较来提供大图概要。典型的命令序列需要选项和参数。

表 10.12. 本地 VCS 命令比较

GitCVSSubversion功能
git initcvs initsvn create创建(本地)存储库
-cvs login-登录远程存储库
git clonecvs cosvn co签出远程存储库到本地工作目录树
git pullcvs upsvn up通过合并远程存储库来更新工作目录树
git add .cvs addsvn add把工作目录树中的文件添加到 VCS
git rmcvs rmsvn rm从 VCS 中移除工作目录树中的文件
-cvs cisvn ci提交改变到远程存储库
git commit -a--提交改变到本地存储库
git push--通过本地存储库来更新远程存储库
git statuscvs statussvn status从 VCS 中显示工作目录树的状态
git diffcvs diffsvn diff比较<参考存储库>和<工作目录树>的差异
git repack -a -d; git prune--重新打包本地仓库到一个单独的包
gitktkcvstkcvsVCS 存储库树的图形界面显示
[小心]小心

从命令行通过 “git-xyz“ 直接调用 git 子命令的方式,从 2006 年早期开始就被取消。

[提示]提示

如果有一个可执行文件 git-foo 在路径环境变量 $PATH 里面,在命令行输入没有中划线的 “git foo“,则将调用 git-foo.这是 git 命令的一个特性.

[提示]提示

例如 tkcvs(1) 和 gitk(1) 这样的图形界面工具有助于追踪文件的修改历史。许多公共的归档提供的用于浏览它们的存储库的 web 界面同样是很有用的。

[提示]提示

Git 能够直接在不同的 VCS 仓库上工作,比如说 CVS 和 Subversion 提供的仓库, 通过 git-cvsgit-svn 软件包提供本地仓库的本地改变.参见 用于 CVS 用户的 git第 10.6.4 节 “用于 Subversion 仓库的 Git”.

[提示]提示

Git 中的有些命令在 CVS 和 Subversion 中并没有对应的命令:”fetch”,”rebase”,”cherry-pick”, …