Git 分布式版本控制系统学习之一

Posted 码海小虾米_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 分布式版本控制系统学习之一相关的知识,希望对你有一定的参考价值。

一、Git、GitHub 和 Gitlab 的区别

  • Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。
    Git易于学习, 占用空间小,性能快如闪电。是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
    官方网站:https://git-scm.com/

  • GitHub 是在线的基于Git的代码托管服务。Github 是2008年由Ruby on Rails编写而成。
    GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库, 只有付费账户可以创建私有代码仓库。而Gitlab解决了这个问题,可以在上面创建免费的私人repo。

二、Git 和 SVN 的区别

  • Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

Git 和 SVN 的区别如下:(记住第一点)

  1. Git 是分布式的,SVN 不是,这是Git 和其他非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
  2. Git 把内容按元数据方式存储,而SVN是按文件,所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn或.cvs等的文件夹里。
  3. Git分支和SVN的分支不同,分支在SVN中一点都不特别,就是版本库中的另外一个目录。
  4. Git没有一个全局的版本号,而SVN有,目前为止这是跟SVN相比Git缺少的最大一个特征。
  5. Git的内容完整性要优于SVN,GIT的内容存储使用的是SHA-1哈希算法,这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

三、版本控制

什么是版本控制?版本迭代,新的版本!版本管理器

版本控制(Revision control )是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并行开发、提高开发效率
  • 根据记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低认为错误

简单来说就是用于管理多人协同开发啊项目的技术。
没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件开源代码的安全性,以及软件的整合等问题。

版本控制的分类:

  1. 本地版本控制
    记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS

  2. 集中版本控制:
    所有版本数据存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。
    所有的版本数据都存在服务器.上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单- -的服务器 上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品: SVN、CVS、VSS

  3. 分布式版本控制:
    所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一-个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。


四、部署 Git 服务

打开官网:https://git-scm.com/,下载git对应操作系统的版本。
官网下载太慢,可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/

下载安装包

安装Git(没有特殊说明就是选择默认)
① 选择适合的路径

② 选择默认的文本编辑器

③ 安装可以在开始菜单中看到已安装的git

Git Bash : Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD : Windows风格的命令行
Git GUI :图形界面的Git ,不建议初学者使用,尽量先熟悉常用命令

④ 打开Git Bash

⑤ 查看配置文件

⑥查看git 配置文件


⑦ 添加用户和邮箱
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远
的嵌入到了你的提交中:


可以看到在c盘生成用户配置文件

打开查看内容


五、Git 的基本理论

以上是关于Git 分布式版本控制系统学习之一的主要内容,如果未能解决你的问题,请参考以下文章

git学习之——远程仓库

iOS学习之git的使用

Git 学习之git 分支

分布式版本控制系统 Git 简介与应用

分布式版本控制系统GIT的使用

分布式版本控制系统(git基础)