Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

366 篇文章 2 订阅
232 篇文章 5 订阅

前言

相信每一个开发人员,从开始工作实习就和一个开源项目不离不弃,你的idea,你的文档,你的代码指南,几乎都会和它扯上相应的联系,相信有朋友已经猜到了,对,他就是Git,老牌程序员可能会用的是SVN,但是我想后面也已经转型而来,改为Git了吧

那Git为什么这么牛逼,我们先简单的看一下Git的实现方式吧

“版本控制系统”Version Control System,VCS)是程序代码管理软件的通称,是用来保存程序文件的修改记录以及历史版本,以便日后查看或是使用。VCS已经有数十年的发展历史,最早期的系统是采用集中管理和控制的方式。如果要修改某一个程序文件,必须先将它锁定,然后取出修改。在完成修改和回传之前,其他人都不能更改这个程序文件。这种方式可以有效避免“冲突”(conflict)的发生(也就是防止不同人同时修改同一段程序代码所造成混淆的情况),但是付出的代价是效率降低。因为如果想要修改的文件正好有别人正在修改,就必须等程序文件回传之后才能动手。如果要修改的人很多,因为互相等待所造成的时间浪费将非常可观。为了解决这个问题,新的VCS 改成采用分布式的方法。每一个人随时都可以获取任何一个程序文件来进行修改,等到送回VCS 的时候,再根据需要进行“合并”(merge), Git就是采用这种分布式技术的系统。

那接下来就是进入整题,也就是Git在我们日常生活中的使用以及面试中常问的问题

开始前,先来看我整理的相应的思维导图吧

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

第一部分Git的基本概念和操作

Git的开发者其实就是Linux的作者,也就是鼎鼎大名的 LinusTorvalds。—开始的时候,Torvalds是使用 BitKeeper 软件来管理Linux的程序代码,该软件原来是免费使用的,但是后来却要收费。于是Torvalds想要更换VCS,却苦于寻找不到其他的替代方案可以符合开发Linux的需求。因为参与开发 Linux 的人数高达上千人,而且分布在世界各地。最后Torvalds决定自己打造一个VCS。经过短短几个星期,第—版的 Git就正式诞生。Linux项目从此用Git管理,当时有将近七百万行的程序代码!

由于Git管理Linux项目非常成功,许多公司于是纷纷效仿,开始使用 Git来管理和控制软件研发项目。这些成功的经验,让 Git的影响力越来越高,使用率也快速提升。

所以开始第一篇,很简单,就是Git的操作指令,不错,如果你会Linux的话,很多东西对你来说比较简单的,好多命令可以通用

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

第二部分建立分支、合并和解决冲突

当可以正常使用软件之后,接下来就是对于程序提交的管理工作,毕竟项目开发过程中掺杂着多人之间的协作问题,就像Linux有近两万人提交升级修改,那Git是如何去解决这个问题呢?

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

第三部分Git程序的图形操作介面

就像Linux的每一个版本都会有DVD和mini两个版本一样,在习惯了使用mini的命令版本之后,DVD版本的Linux更容易上手

同样的,到当前为止,我们一直都是使用 Git Bash程序来学习Git的用法。Git Bash程序是以输入指令的方式操作 Git文档库。与图形操作界面的程序相比,这种命令行模式的程序好像比较麻烦。其实不然,Git Bash程序才是能够完整发挥Git最大功能的操作工具。初学者应该从 GitBash程序开始学习,才能打下扎实的 Git指令基础,并且完整了解 Git文档车的工作原理。等到熟练掌握这些基础知识之后,再来学习图形操作模式,自然就能触类旁通、轻而易举。经过前面单元的学习和演练,相信读者已经具备完整的基础。这个单元我们就来介绍 Git GUI这个图形界面操作程序的用法。

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

第四部分远程Git文档库和团队开关模式

截至当前为止,我们操作的 Git文档库都是存储在程序项目的文件夹内(也就是“.git”的文件夹内)。随着程序项目的进展,我们会把不同阶段的文件内容加入Git文档库。这个Git文档库是由我们直接操控,称它为“本地 Git文档库(local repository)”。除了“本地 Git文档库”以外,如果需要和其他人共同开发这个程序项目,还需要一个所谓的“远程Git文档库(remote repository)”。这个单元我们就来介绍“远程 Git文档库”的功能和用法。

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

重点把这一块的内容拿出来,因为它这个Git远程文档库跟我把GitHub当成百度网盘使用有异曲同工之妙,但是我的方案还是有一点不足,在看完这份文档之后才想到改进方案

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

第五部分架设Git Server

这个单元先介绍两种访问远程 Git文档库最简单的做法。这两种方法都不需要安装任何其他软件。

第一种是使用Windows操作系统本身的网络“共享文件夹”功能;

第二种是使用Git内建的 dacmon功能。

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

附录Git常用指令—览表

Git总共提供了超过一百个以上的指令让我们执行各种操作可以使用“git help -a”指令显示完整的指令列表),每一个指令又有许多选项可以搭配,但是我们不可能,也不需要完全记住这些指令。就实用性而言,只要熟练部分指令和选项的用法,就可以满足—般应用的需求。以下我们将常用的 Git指令,按照字母顺序列表说明,以方便读者查阅。

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

Linux之父带1.2亿程序员如何深度剖析Git底层原理文档

 

需要这份文档以及思维导图的,关注公众号:Java架构师联盟即可查看获取方式

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值