1.Git介绍以及Svn介绍 git客户端版本 :1.8.3 Gitlab版本:13.5.5

https://packages.gitlab.com/gitlab/gitlab-ce gitlab下载地址
Git是一种分布式的版本控制器,也称为代码仓库,相较其他代码仓库最突出的特点就是分布式架构。客户端并不只提取最新版本的文件,而是把原始的代码仓库完整地克隆下来。
vn属于集中化的版本控制系统,有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的成员通过客户端连接到这台服务器,进行文件上传和更新。

2.Git和Svn优缺点

Git优点:
1.分布式,每一个参与开发的人的电脑上都有一个完整的仓库,不担忧硬盘出问题;
2.在不联网的状况下,照样能够提交到本地仓库,能够查看以往的全部log,等到有网的时候,push到远程便可;
3.很是强大的分支管理功能。
4.Git的内容的完整性要优于SVN #(GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时下降对版本库的破坏。)
Git缺点:
1.每个人都可以克隆完整的仓库,不利于代码保密,不过都有保密协议,而且可以使用Gitlab进行用户管理,项目管理,比较方便。
Svn优点:
1、较好的权限管理功能,能够精确控制每一个目录的权限;
2、使用相对git要简单一点。
SVN缺点
1、集中式,若是中心服务器出现问题,全部人都不能正常干活,恢复也很麻烦,由于SVN记录的是每次改动的差别,不是完整文件;
2、分支功能没有git强大;
3、速度没有git快,若是有五个分支,是把五个分支的文件所有拷下来;
4、必须联网才能commit。

3.Git的使用

image.png
1.工作区(Working Directory):存放git版本仓库的目录就是工作区(放源代码的地方)
2.暂存区:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,(会将代码添加到缓存区,没有问题之后在提交到版本库)
3.版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
4.HEAD:指向你最近一次提交后的结果。(现在是哪个版本,头就会指向这个版本)
Git常用命令:

  • git add .:这个命令会监控工作区的状态树,会把工作区的所有变化提交到暂存区,包括修改内容的文件(modified)和新文件(new),但是不包括被删除的文件
  • git add -u:(git add —update缩写)这个命令不会提交新文件(untracked file)——-仅仅作为修改提交被修改(modified)和被删除(delete)文件,不包括新文件(new)
  • git add -A:(git add -all缩写)是上面两个命令的集合,会提交所有的文件包括修改新建和删除的
  • git commit -a -m ‘提交信息’commit命令将暂存区的变更提交到本地仓库,-m参数是提交信息的描述,-a 参数就是可以把还没有执行add命令的修改一起提交。
  • git commit -m ‘提交信息’ 将暂存区的变更提交到本地仓库
  • git tag -a 版本 -m “描述信息” 将本地仓库的当前版本打上tag标签
  • git push origin master 将本地仓库的master推送到远程仓库
  • git push origin tag版本 推送新的tag版本到运程仓库
  • git branch可以用来列出分支,创建分支和删除分支
  • git checkout (branchname) 切换到一个分支.
  • 把一个分支merge进当前的分支
  • git checkout -b (branchname): 创建并切换到新的分支.
  • git branch -r 列出远程分支

image.png