Git基本概念、工作流程及与SVN的对比

简介: Git基本概念、工作流程及与SVN的对比

一、Git基本概念

在处理大型项目进行多人协作的时候,学会使用git是必不可少的技能。


Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。我们使用Git并且有


个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一


样的。我们可以 把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它


大家一样可以工作,只不 过“交换”修改不方便而已。


Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。


Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。


2e5a1c999efc4895805eefc08b46ad55.png

特点:


速度

简单的设计

对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

完全分布式

有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

二、版本控制器的方式

a、集中式版本控制工具

集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。

举例:SVN和CVS

b、分布式版本控制工具

分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。

举例:Git

三、Git工作流程

a18d1760cfdd414287d2741028e7bb15.png

命令如下:


1. clone(克隆): 从远程仓库中克隆代码到本地仓库


2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订


3. add(添加): 在提交前先将代码提交到暂存区


4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本


5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。


6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于


fetch+merge


7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

四、Git和SVN的对比

SVN 是集中式版本控制系统的代表,其版本库集中存放在中央服务器,程序员使用个人电脑从中央服务器获取最新版本,并将更新后版本推送到中央服务器。集中式版本控制系统的通病是必须联网才可以工作,如果是局域网还好,带宽够大,速度够快;如果是互联网且网速较慢的话,提交一个 10M 文件可能就需要 5 分钟。当然,出于安全等多方面因素考虑,企业内部有自己的局域网很正常。


Git 是分布式版本控制的代表,没有明确的中央服务器概念,每个程序员的电脑上都有完整的版本库,只需要将更改互相推送给对方即可。一旦其中某个版本丢失,只需要从其他电脑上复制一份即可,相当于互相备份的概念。


相比 SVN,Git 的最大优势可能是分支管理,这非常契合开源项目的需求,但不少使用 Git 的程序员没有最大限度利用这一优势,国内程序员对开源社区的贡献也相对较低。SVN 的主要优势是目录级别权限控制,可以 Checkout 子目录,方便公司或团队管理,不少云供应商也提供云端的 SVN 相关工具。


SVN 与 Git 的使用场景本身不尽相同,因此并不存在高低之分。但就现状而言,程序员与开源项目的接触越来越多,企业也越来越喜欢使用开源项目,即便公司内部使用 SVN,但 Git 也会成为程序员的一项必备技能,毕竟在 Github 上互相交流是需要的,但 Git 在实际使用中还是存在很多问题。

目录
相关文章
|
3月前
|
开发工具 git 开发者
百度搜索:蓝易云【Git实际开发的流程】
以上是Git在实际开发中的一般流程。Git的分布式版本控制系统使得团队开发更加高效和灵活,并能有效管理项目的版本历史。
31 1
|
4月前
|
存储 算法 开发工具
git是什么?git的五个命令,git和svn的区别
git是什么?git的五个命令,git和svn的区别
46 0
|
3月前
|
存储 开发工具 git
Git 的基本概念和使用方式
Git 的基本概念和使用方式
|
4天前
|
存储 Linux 开发工具
Git 分布式版本控制系统基本概念和操作命令
Git 分布式版本控制系统基本概念和操作命令
22 0
|
2月前
|
开发工具 git 开发者
Git 的基本概念和使用方式
Git 的基本概念和使用方式
14 0
|
2月前
|
存储 开发工具 git
Git工作流程:如何在团队中协作?
Git工作流程:如何在团队中协作?
|
3月前
|
存储 缓存 开发工具
Git 拉取合并代码流程和多人协同开发的问题解决方法
Git 拉取合并代码流程和多人协同开发的问题解决方法
66 0
|
3月前
|
网络安全 开发工具 git
Git在windows下上传文件至github流程
Git在windows下上传文件至github流程
22 0
|
3月前
|
存储 开发工具 git
git基本概念
git基本概念
30 0
|
3月前
|
数据可视化 测试技术 持续交付
Git Flow规范在工作中的使用流程
Git Flow规范在工作中的使用流程
39 0