美文网首页
版本控制之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和git

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