专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构

git简介

  • git是一款开源的分布式版本控制工具
  • 所有的分布式版本控制工具中,git是最快、最简单、最流行的、使用最广泛

git起源

  • 在早期Linux使用的源代码管理工具是由BeetMover公司向Linux社区提供的免费的 BitKeeper(一个分布式版本管理工具)。 Linux社区成员 Anderew 试图破解BitKeeper协议,被发现后BeetMover中止了向Linux社区提供免费服务由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具,从而git诞生了。
  • Linux 用两周时间开发出了git,并将其开源

集中式版本控制 和 分布式版本控制

  1. 集中式版本控制
  2. 分布式版本控制

其他版本控制工具

  1. CVS
    • 最早的开源、免费的集中式版本控制工具
    • 自身设计有问题,会造成提交文件不完整,版本库莫名其妙损坏的情况
  2. SVN
    • 修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制工具
  3. ClearCase
    • 收费的集中式版本控制工具,安装比Windows还大,运行比蜗牛还慢
    • 能用ClearCase的一般是世界500强,他们有个共同的特点是财大气粗或者人傻钱多
  4. VSS
    • 微软的集中式版本控制工具,集成在Visual Studio中
    • 由于它反人类的设计,连微软自己都不好意思用了

SVN的工作流程图:

    1. checkout: 从将服务器仓库的代码克隆(拷贝)到个人电脑
    2. commit: 在个人电脑修改代码提交到服务器
    3. update: 更新服务器的新代码到个人电脑

git的工作流程:

    1. clone: 从将服务器仓库和仓库里面的代码克隆(拷贝)到个人电脑
    2. commit: 在个人电脑修改代码提交到本地(个人电脑)仓库
    3. push: 将本地仓库所做的修改推送到服务器仓库
    4. pull: 更新服务器仓库代码到本地仓库

git和SVN的简单对比

  1. 速度
    • 在很多情况下,git的速度远远比SVN快
  2. 结构
    • SVN是集中式管理,git是分布式管理
  3. 其他
    • SVN使用分支比较笨拙,git可以轻松拥有无限个分支
    • SVN必须联网才能正常工作,git支持本地版本控制工作,可以在没有网络的情况下将代码提交到本地仓库,连接上服务器后,将本地仓库 push 到原创仓库
    • 旧版本的SVN会在每一个目录置放一个.svn,git只会在根目录拥有一个.git

git现状

  • 具体使用 SVN 还是 git 要看公司的情况, 一半一半
  • 大多数开源项目都是使用git
  • 每一个 it 从业人员多多少少都要和 git 打打交道

results matching ""

    No results matching ""