浅析git

目录

git 的历史

git 的感性认识

git 在Linux下的操作

git三板斧


git 的历史

雷纳托瓦兹,想必大家对这个名字并不陌生,他是Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首要架构师与项目协调者,是当今世界最著名的电脑程序员、黑客之一。而git这个广泛用于全球的版本控制系统也是他的作品。

雷纳托瓦兹开发了Linux之后,因为Linux是开源项目,他每天会收到大量来自世界各地的由高级程序员发来的关于Linux的改进代码,而他需要对这些意见进行整合,将大量代码筛选合并,对Linux版本升级维护。

这个工作量可想而知,在这一过程中会有大量不同版本诞生,因此需要好好记录存储这些不同版本,此时就需要优质的版本控制器。雷纳托瓦兹找到一家公司希望能使用旗下的软件,但被告知要付费。Linux团队并不缺钱但是考虑到Linux本是开源项目,使用收费版本控制器违背了开源精神,并且不利于其他程序员加入团队。但后来该公司意识到Linux是可以改变世界的项目选择免费提供软件。

但好景不长,由于Linux社区一些程序员试图破解公司的版本控制器被发现,公司禁止Linux团队再使用该软件,于是雷纳托瓦兹花费数周写出了初代 git,并且也进行了开源。后 git发展越来越好,被商业化成了GitHub。而在国内,连接GitHub经常出问题,于是国内工程师也将git 包装了一下,就是gitee。

这里的GitHub和gitee,都是代码托管网站。不基于客户端,使用git工具对代码进行管理。

不仅限于Linux、也不仅仅是C\C++,各平台各语言的代码都可以托管。

git 的感性认识

上面说了git的发展历史,但目前只知道git是个版本控制器,以及GitHub和gitee是什么,接下来我举个例子从感性的角度带大家理解一下git。

大学里有一位化学老师,很负责很严谨,别的老师不会细看的学生写的实验报告他总是一字不拉的认真看。张三这天写了份报告上交,写的很烂,老师让他好好修改一下再交。于是张三改好了又来找老师,结果这次改得反而更烂,老师生气地指出了报告的错误内容,让他回去再改。第二天张三拿着报告给老师看,老师两眼一黑,写的还不如前面的。于是无奈的对张三说,你还是把第一份报告交给我吧,也不用改了。张三一拍脑门,他已经把前两份报告扔掉了。回去后张三和舍友李四说了此事,李四表示你为什么不早点找我,我每一次都提前把报告备份好,再交给老师,这就不怕了。

张三此时醒悟,给了李四十块钱托管费,日后所有报告的备份管理工作都交给了李四。李四也嗅到了商机,作为一名计算机学生,他写了一个版本控制器并制作了一个网页,可以管理登录用户的各种报告及文件。

这里一系列操作和git本质上是一样的,都是不用客户端,在浏览器网页上操作。用户将代码托管到gitee上,自动会进行版本管理,并提供历史版本获取和可视化服务。

git 在Linux下的操作

这里我在gitee上操作。首先创建仓库,创建完成后点击右上角的克隆\下载。

 使用HTTPS路径,SSH需要密钥比较麻烦,HTTPS路上加密即可。

复制路径在Linux下克隆,使用 git clone 命令:

 这样就将gitee的远端仓库同步到本地了。

这时本地就有一个仓库目录test,进入test里面是我历史提交的代码。

在gitee上我发现有个.gitignore在本地目录里没有,因为Linux下 .开头的文件都被隐藏了。

 

 ls -al 找到该文件:

 查看 .gitignore,发现里面都是些文件后缀:

ignore意思是忽略,以在该文件中出现的后缀 的文件不会推送到远端gitee上。

一般我们提交代码也都是只提交需要.c  .cpp   .java这种文件,像.txt  .swf后缀的文件没必要提交,会占用很多空间,.gitignore文件会帮助我们减少不必要的推送文件。

还有一个隐藏文件.git,这其实就是本地仓库,.git文件里的内容+目录 = 本地仓库(git仓库)

所谓push到远端就是将.git文件里的内容同步到gitee上。

git三板斧

git的三板斧:add, commit, push

git add命令是将新创建的文件添加到本地仓库的临时区域 (注意:这里还未真正添加到仓库)

git commit -m '日志' : 提交,将刚刚add到临时区域的文件提交到本地仓库的.git目录下,也就是将新文件合并到本地仓库。注意这里提交日志不能乱写!

git push:这才是真正将新文件推送到远端仓库。

还有一个常用的git pull 命令,拉取。

当我们在远端修改代码并且提交时,如果本地仓库在也修改,会出现不匹配不同步的情况。这时可以在本地git pull一下,将远端的代码拉取下来同步了,再git push提交。

上面说提交日志不能乱写,因为都会记录在册,git log就能查看。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值