《对比SVN学习GIT版本管理工具》.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《对比SVN学习GIT版本管理工具》.pdf

对比SVN 学习GIT 版本管理工具 作者:刘旭晖 Raymond 转载请注明出处 Email :colorant@163.com BLOG :/colorant/ 因为近期工作需要,要掌握git 的使用方法,所以决心花点时间学习一下它的各种使用方法,就当 是花点时间磨刀吧。所以写这篇文档的目的主要还是为了自己能够系统的学习和理解GIT 应用的方方 面面,因为之前对SVN 算是比较熟悉,所以决定以概念对比的方式来整理这篇文章,尽管,有些地方 两者无法直接比较 8 )此外,主要的目的还是为了方便自己积累相关的 git 使用技巧。文中理解有偏 差的地方,还请大家指正。 1 概述和参考资料 1.1 GIT 相关  /pub/software/scm/git/docs/ 这里面包括了 tutorial 基本的操作 / core-tutorial 底层命令的使用 / user’s manual 完整的用户手 册以及其它各种资料,如果你看完了,我的这篇文档你也就不用看了。 1.2 SVN 相关 / 这里是一份online 的svn book 或者也可以看tortoiseSVN 的帮助文档 2 仓库的组织结构及相关概念 仓库的组织管理形式这部分,应该说是版本管理工具设计上最核心的内容。对于仓库的内部管理 机制,我了解得很少,只能从外部的表象上做一些简单的比较。 SVN 属于中心式的仓库管理,完整的仓库数据,统一维护在服务器端的(当然,服务器也可以就 是你的本机了)仓库中,对于客户端来说,本地取得的数据不是完整的仓库,只是仓库中特定版本的 部分或全部数据,同时,客户端还负责维护本地数据的变更情况,在客户端并不拥有仓库完整的历史 数据。本地的工作树和仓库是相对独立的。 对于Git 来说,应该属于分布式的仓库管理,倒不是说仓库的内容分散在不同的server 上,只是对 仓库而言,没有中心仓库之说,所有的仓库都是平等的。对于一个仓库的不同工作拷贝,每个都拥有 完整的历史数据,工作树和仓库基本是合二为一的。 在SVN 中,从仓库checkout 的一个工作树,每个子目录下都维护着自己的.svn 目录,记录着该目 录中文件的修改情况以及和服务器端仓库的对应关系。所以SVN 可以局部checkout 部分路径下的内容, 而不用checkout 整个分支。 Git 仓库中,项目根目录下的.git 目录统一管理了所有的仓库数据和当前工作树的相关信息。 在SVN 中,默认采用FSFS 的数据库格式,任何提交都是一个版本的递增,所谓分支,tag 等概念 都只是仓库中不同路径上的一个对象或索引而已,和普通的路径并没有本质的区别。在工作树中,可 以同时checkout 多个分支的内容。 在 Git 中,其内部的对象层级依赖关系或许和SVN 类似,但是其工作树的视图表现形式和 SVN 完全不同。工作树永远是一个完整的分支,不同的分支由不同的head 索引去构建,你不可能在工作树 中同时获得多个分支的内容。 3 基本操作 3.1 仓库创建初始化 在SVN 中,仓库本身的管理和日常应用,使用的是两套不同的命令。仓库的创建和备份维护等使 用的命令是 svnadmin, 使用svnadmin create 来创建一个新的仓库 在git 中,创建一个新的仓库,可以在一个空目录下,使用git init 来实现,它将创建一个.git 目录 用来维护仓库数据。 在SVN 中,创建仓库的地方并不是你日常使用的仓库的地方,你需要在别的地方checkout 出特定 的仓库路径作为你的日常工作的目录。在git 中,仓库所在的目录也就是你的日常工作目录,没有服务 器端和客户端之分。(严格的说.git 目录才是仓库,.git 目录外的地方是你的工作目录,对于bare project 来说,只有git 目录下的内容,工作目录离得内容还是要checkout 出来的) 3.2 Checkout 仓库 在SVN 中,使用SVN checkout(co)来checkout 本地或远程仓库的代码 而对于git 来说,尽管也有checkout 命令,但是由于你需要在本地拥有仓库,所以通常从服务器上 checkout 代码的第一步是使用g

文档评论(0)

wfkm + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档