(01)Git基本介绍及Git客户端安装

  1、Git与svn的比较

  svn是集中式版本控制工具的典型代表,版本是在服务器控制的,如果服务器坏掉,只能从客户端上传一个最新的。

  Git是分布式版本控制工具的典型代表,本地就能进行完整的版本控制,本地电脑有提交过的所有历史的存储,能避免单点故障。

  svn采用的是增量式管理的方式,而Git 采取了文件系统快照的方式。

  Git能对团队外开发者贡献的代码进行审核,svn不行。

  2、Git的优势

  大部分操作在本地完成,不需要联网

  完整性保证

  尽可能添加数据而不是删除或修改数据

  分支操作非常快捷流畅

  与Linux 命令全面兼容

  3、Git客户端安装

  4、Git在本地的结构

  Git在本地有3个区域,执行过程如下图:

  工作区:写代码、修改代码的地方,新建的文件在工作区

  暂存区:打算提交还没提交的,将来可以提交也可以撤回的一个临时区域,执行git add 命令从工作区添加到了暂存区

  本地库:存储每一个历史的版本,执行git commit 命令从暂存区提交到了本地库

  5、Git 和代码托管中心

  Git 与 GitHub 是两个完全不同的东西,GitHub 是 Git 的一个代码托管中心。局域网环境下可以搭建 GitLab 托管中心,外网环境下可以用 GitHub 和码云作为代码托管中心。代码托管中心的任务是帮助维护远程库。

  团队内协作,如下图:

  甲创建了本地库A,在托管中心创建了远程库B,并且把A的内容push到远程库B,乙从远程库B clone 到本地(会自动创建本地库),修改代码后提交到本地库,然后push到远程库B,(乙不能直接push到B,需要加入团队(甲先邀请乙加入团队)),乙 push 到远程库后,甲就可以pull 拉取到甲的本地。

  跨团队协作,如下图:

  甲创建了本地库A,在托管中心创建了远程库B,并且把A的内容push到远程库B,乙(不属于甲的团队)从远程库B fork(复制) 一个远程库C(C也在代码托管中心),乙将C clone 到本地(会自动创建本地库),修改代码后提交到本地库,然后push到远程库C,并且向甲发起一个拉取的请求,甲审核后将在线 merge (合并)到远程库B,甲所在团队的人就可以拉取到乙修改点的内容了。

 

posted @ 2020-03-24 21:44  雷雨客  阅读(196)  评论(0编辑  收藏  举报