浅谈Git(一): 什么是Git

前言

Git是我们写代码时使用的版本控制工具。同时他也是截止目前世界上最先进的分布式版本控制系统。从毕业以来进入到实践工作当中,我发现在实际开发中的项目协作上,或者说在项目版本管理工具Git的使用上,有很多可以去优化的地方。为此,自己花了一段时间去学习研究Git的使用,以及如何使用Git更好的来管理多人协作项目。当然,经过了一个阶段的系统学习,想写一些关于这段时间学习的感受,也方便以后回过头来重新复习一遍。


本文章主要讨论几个问题:

  1. 什么是Git? Git是用来做什么的呢?
  2. 什么是版本控制,他的作用是什么?
  3. 集中式版本控制系统与分布式版本控制系统的工作方式,区别?
  4. Git的工作方式以及项目Git文件负责的职能

1.什么是Git?它是用来做什么的?

Git是截至目前(2020年)世界上最先进的分布式版本控制工具。
它是用来对项目进行版本控制的。

2.什么是版本控制,他的作用是什么?

我们先举个例子:如果你在用电脑写一份文档时,想删除掉一段文字,但是很不巧,这段文字可能在未来的某个时刻会被用到,这个时候一般你需要先将这个文档另存为“文档A”,然后再这个基础上再去修改保存“文档B”。 现在文档B在某个层面上需要进行某个结构的调整,但是你也不清楚这样子的调整能不能通过领导的审查的时候,便会在这个基础上保存一个新的“文档C”,在我们做软件需求上都认同这样一句话“软件需求是在不断变更的”。那一段时间下来,你会发现多了“文档DEFGHIJK…”,既浪费了电脑内存又不方便管理。
还有另一种情况,收集一个表格,同时需要多人填写,那统计者便会收到多个表格,并且在进行汇总合并,费时费力…

3. 集中式版本控制系统与分布式版本控制系统的工作方式,区别?

  • 集中式版本控制系统 – cvs,svn

简单来说,他的版本库存放于中央服务器上,而我们在工作时,首先从中央服务器上获取到项目的最新版本,然后在开始进行我们的修改,完成工作后,再把自己的工作内容推送到中央服务器上。
但是这样的方式缺点也很明显:首先是必须联网,并且文件是按照原始数据进行储存,如果是局域网就还好,带宽大、网速快,但是如果是外网访问的云,如果需要传输大文件或者文档,这个传输时间也是蛮扎心的了,另外A终端创建新分支在B终端上也会拥有一样的分支。

  • 分布式版本控制系统 – git

git中,每个开发者都有一个属于自己的本地仓库,在工作时,首先在自己的本地仓库进行修改与提交,最后将这些修改的元数据,即修改部分信息,而不是像svn的原始数据推送到远程服务器上。git的每个提交保存的是差异记录,所有提交合在一起得到完整记录,有点像是数学并集问题。
在git的使用当中,远程服务器的职能更偏向于用来交换大家的修改与数据存储,即使没有网络,也可以使用本地仓库进行版本管理,只是不方便多方交换各自的数据而已。另外git创建的分支不会影响其他人的使用。

4. Git目录?

目录名字职能
config储存项目配置信息
objects文件夹储存git对象
HEAD文件记录当前头指针
index文件储存暂存区的信息
refs储存分支信息,包含当前分支,远程分支名,以及tags标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿鹏睡不着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值