Git版本控制系统VCS

Git版本控制系统VCS

一、版本控制系统基本情况说明

  版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统

1、作用

  记录文件的所有历史变化

  随时可回复到任何一个历史状态

  多人协作开发或者修改

  错误恢复

  多功能的并行开发(分支功能、特性-合并操作)

2、分类

  本地版本控制系统(local VCS

  集中化的控制系统(Centralizes VCS

  分布式的版本控制系统(Distributed VCS

3、基本概念

  repository——存放所有文件及历史信息

  checkout ——取出或者切换到指定版本的文件

  version ——记录表示一个版本(编号或者其他代码),某个特定状态下的资源

  tag ——记录标识一个主要版本(1.0 2.0 3.0

4.三种版本控制系统细讲

1)本地版本控制系统(LVCS)——本地完整仓库(少用)

  RCS Revision Control System

  优点:简单、很多系统中都有配置

    适合管理文本文件

  缺点:不支持网络

    支持类型单一

    只适合管理少量文件、不支持基于项目的管理

2)集中式版本控制系统(CVCS )——服务器完整的仓库

  CVS Concurrent Version System

  Subversion

  优点:适合多人团队协作开发

    代码集中话管理

  缺点:单点故障

    必须连网操作,无法单击本地工作

3)分布式版本控制系统(CVCS)——本地和服务器都有完整的仓库

  Git

  Mercurial

  优点:适合多人团队协作开发

    代码集中化管理

    可以离线工作

    每个计算机都是一个完整仓库


二、Git——一个分布式的版本控制系统

1Git由来

  Git最初开发是为了取代BitKeeper,由linus Torvalds开发,作为linux内核代码管理系统使用。

  Git 设计时考虑了很多方面,除了分布式版本控制系统的优点外,还考虑了一下的设计目标,这些目标都成为git的优点:

  速度、简单的设计、对非线性开发模式的强烈支持(分支功能,允许上千个并行开发的分支)、完全分布式、有能力管理类似linux内核一样的强大规模项目。

2、为什么取名git

  I'm an egotistical bastard,and I name all my projects after myself.First'Linux',now'Git'. ——Linus Torvalds

3git原理——快照,而非保存区别。

1)快照,而非保存

  每一种版本控制系统都用一种办法追踪不同阶段的文件的变化。

  别的:补丁(保存区别)

  Git :快照(链接)snapshot

2)几乎所有的操作都是在本地执行

3)通过校验和算法识别文件的变化

  Git 使用SHA-1算法对文件内容或者目录结构进行hash运算,用得出的校验值作为识别变化的指纹。

4)多数操作据为添加数据

4Git 原理——文件状态及工作区域

  Git respository——最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见

   Staging areaindex)——暂存已经修改的文件

  Working Directory——编辑、修改文件

三、Git安装

  sudo apt-get updates

  sudo apt-get install git

四、Git基础设置

1、设置用户名

  git config –-global user.name “IterCast”

2、设置用户邮箱

  git config –global user.email “demo@itercast.com”

  (用户名和邮箱是提交代码时的标识)

3、查看设置

  git config –list

4、可以通过以下命令获取git帮助

  git help

  可以通过以下的命令获取特定指令的帮助

  git help 特定指令

五、Git操作

(一)初始化一个新的Git仓库

1、创建一个文件夹(或者使用已有的文件夹)

   mkdir git-Demo

2、在文件夹内初始化Git ,创建Git仓库

  cd git-Demo

  git init (实际上就是在这个文件夹下面创建一个隐藏的文件夹.git,所有的git文件都保存在此)

(二)Git 仓库中的文件添加及更新

  Git 工作区域: Working Directory——>Staging area(index)------>Git repository

1)新添加的文件

  hellogit.rbREADME

2)添加到Staging area

  git add hellogit.rb

  git add README

3)确定后,添加到Git repository

  git commit -m “init pro说明信息”

注释:

  (1)git status 查看当前的仓库状态;git log查看仓库日志。

   (2)git commit -a -m “modify hellogit” 直接一起提交暂存文件。(不会自动提交未追踪的文件)

    git commit -a -m “modify README”  

     (git status)

(三)删除文件

1、删除文件(从系统中删除文件)

   rm README

2、从Git中删除文件(Git不去追踪这个文件)

  git rm README

3、提交操作

  git commit -m “delete README”

注:只是在当前版本中删除,而历史版本中还是存在的

(四)重命名文件

   hellogit.rb---------->helloworld.rb

  1git mv hellogit.rb helloworld.rb

   2git commit -m “rename hello.rb to helloworld.rb”

  注:重命名文件相当于执行下面三条命令

    1mv hellogit.rb helloworld.rb

    2git rm hellogit.rb

    3git add helloworld.rb

六、Git 远程仓库简介

  Working Directory---->Staging area------->Git repository-----.git仓库文件---->Git仓库文件

1Git远程仓库——访问协议

  LocalSSH Git HTTP/HTTPS

2、常用Git 仓库实现

1)使用现有的Git网络仓库服务

   githubbitbucket

2)搭建自己的Git仓库服务器件

声明:本文是在观看苏勇老师在51CTO学院上面的Web开发-苏勇老师Git 版本控制系统精讲视频课程整理而来,大家可以进行视频观看。在此谢过苏勇老师!!

posted @ 2016-01-28 00:52  YouxiBug  阅读(629)  评论(0编辑  收藏  举报