1.Git简介

  Git是一个免费、开源的分布式版本控制系统,可以敏捷高效的进行各种规模大小的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2.Git与SVN区别:

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

3.什么是集中式?

  集中式开发:是将项目集中存放在中央服务器中,在工作的时候,大家只在自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给中央服务器保存。这种方式需要联网,现在云开发就是这样的处理方式。

缺点:

  • 如果网络出现异常或者很卡,直接影响工作效率。如果是中央服务器挂了,那就集体喝茶去了。
  • 安全度不高,重要的东西都放在一个中央服务器中,如果被黑,那损失就大了。

优点:

  • 减少了硬件和软件成本,硬件不用说了,现在流行盒子,一个小盒子只要连上中央服务器即可,以前都是一个个主机箱,那成本大多了。如果用到工具软件需要收费,只需买一套正版就OK了。

4.什么是分布式?

  分布式开发:只要提供一台电脑作为版本集中存的服务器放就够了,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它也一样干活,只是交换修改不方便而已。而每一台电脑有各自独立的开发环境,不需要联网,本地直接运行,相对集中式安全系数高很多。

5.GitLab安装与环境配置

  • 安装GitLab的依赖包
  • 安装GitLab的rpm包
  • 执行gitlab-ctl  reconfigure,完成GitLab的重新配置
  • 修改GitLab的配置文件

6.Git命令

  • git add <file> # 将工作文件修改提交到本地暂存区
  • git help <command> # 显示command的help
  • git show # 显示某次提交的内容 git show $id