美文网首页
版本控制之svn和git

版本控制之svn和git

作者: 六月星空2011 | 来源:发表于2017-12-14 16:16 被阅读0次
  1. 没有版本控制会出现的问题:
     - 备份多个版本,费空间,费时间
     - 难于恢复至以前正确版本
     - 容易引发BUG
     - 解决代码冲突困难
     - 代码管理混乱
     - 难于追溯问题代码的修改人和修改时间
     - 无法进行权限控制
     - 项目版本发布困难
  2. 什么是版本控制:
     版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。
  3. SVN简介:
     Svn(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了 SVN。Subversion 项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足。
    3-1. SVN基本交互流程图

    工作思路: SVN 工作的的基本思路:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序.这样,就好象只有一个人在 修改文件一样.避免了冲突.每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用 SVN 命令进行提交,由 SVN仓库管理员统一 修改.这样就可以做到跟踪文件变化,冲突控制等等。
    3-2. SVN常用工具
     1.TortoiseSvn. 免费开源客户端
    3-3. Subversion建立仓库
     1. 建立svn仓库
      命令svnadmin create 仓库名称
     2. 仓库目录说明
      db目录:就是所有版本控制的数据存放文件。
      hooks目录:脚本文件的目录。
      locks目录:用放置hook来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端。
      format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
      conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。
     3. 注意事项
     .svn这个隐藏目录记录着两项关键的信息: 工作文件的基准版本和一个本地副本最后更新的时间戳。千万不要手工修改或删除这个 .svn 隐藏目录和里面的文件!!! 否则将会导致你本地的工作拷贝 (静态视图)被破坏,无法再进行操作。
    3-4. Subversion目录规范
     创建三个顶级目录
      /trunk 存放开发的“主线”
      /branches 存放支线副本
      /tags 存放标签副本
  4. git简介
     Linus的第二个伟大作品。2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了。
    4-1. git的特点:
     -分布式,强调个体
     -公共服务器压力和数据量都不会太大
     -速度快、灵活
     -任意两个开发者之间可以很容易的解决冲突
     -离线工作
     -每日工作备份
    4-2 git基本交互流程

    4-3 开源项目工作流程

    4-4 git建立仓库
     1.建立Git仓库
      git init --bare 库名称
     2.仓库目录说明
      -hooks目录:脚本文件的目录。
      -info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件
      -logs目录:日志目录
      -objects目录:存储所有数据内容
      -refs目录:存储指向数据(分支)的提交对象的指针
      -config文件包含了项目特有的配置选项
      -description文件仅供 GitWeb 程序使用
      -HEAD文件指向当前分支
    4-5. git 常用工具及配置
    1.git
    2.TortoiseGit
    3 配置:
     a) git config –-global user.name ‘xx’
     b) git config –-global user.email ‘xx’
     c) ssh-keygen -t rsa -C 'yourmail' 生成ssh key
    4-6. git常用命令
  5. SVN和GIT的主要区别
  • svn:
    1, 是集中式的version control
    2, 每次存储的仅仅是变化(**存储变化 **).
  • git:
    1, 是分布式的version control
    2, 每次存储完整的文件, 没有变化, 用一个指针指向前一个文件.

相关文章

  • SVN使用知识总结

    一. SVN和Git区别 SVN : 集中式的版本控制工具Git : 分布式的版本控制工具 二. SVN介绍 SV...

  • 源代码管理工具

    1 SVN 集中式版本控制工具: 2 git 开源的分布式版本控制工具,git提交时可以在本地提交 svn和git...

  • Git&GitHub入门教程

    1. Git简介 Git是和SVN一样的版本控制工具,它和SVN最大的区别是SVN是集中式的版本""控制工具,而G...

  • 程序员思想——版本控制,常见面试题和知识点

    面试当中的git和SVN的内容: git是分布式版本控制系统,SVN是集中式版本控制系统。 问题1:reset 与...

  • 版本控制之svn和git

    没有版本控制会出现的问题:- 备份多个版本,费空间,费时间- 难于恢复至以前正确版本- 容易引发BUG- 解决代码...

  • 关于Git和SVN

    Git是什么?SVN是什么?Git是分布式版本控制器。SVN是集中式版本控制器。 什么是集中式版本控制器和分布式版...

  • Git

    1,Git和SVN都是版本控制工具,那么他们得区别是什么呢? 1 ). Svn 特点SVN是集中式版本控制系统,版...

  • 为什么使用GIT

    SVN与GIT的区别 概念SVN:集中化的版本控制系统GIT:分布式版本控制系统 文件记录方式SVN:记录每个文件...

  • 为什么使用git

    SVN与GIT的区别 概念SVN:集中化的版本控制系统GIT:分布式版本控制系统 文件记录方式SVN:记录每个文件...

  • Git | 绪

    绪 GIT和SVN的区别 GIT是分布式的,SVN不是,这是GIT和其它非分布式的版本控制系统,例如SVN、CVS...

网友评论

      本文标题:版本控制之svn和git

      本文链接:https://www.haomeiwen.com/subject/zsckwxtx.html