Linux:基础开发工具(五)

今天我们来学习版本控制器Git

这个工具对于我们平时写代码,保存代码十分友好,话不多说,现在开始

1.了解git的作用

不知道你⼯作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防⽌⽂档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,⽐如:

"报告-v1"

"报告-v2"

"报告-v3"

"报告-确定版"

"报告-最终版"

"报告-究极进化版"

...

每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤ 。

但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越

多,⽂件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各⾃都是修改了什么

吗?

⽂档如此,我们写的项⽬代码,也是存在这个问题的!!

版本控制器git

为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器 。所谓的版本控制器,就是能让你了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代 的⼀个管理系统,同时也**⽅便多⼈协同作业** 。

⽬前最主流的版本控制器就是 Git。Git 可以控制电脑上所有格式的⽂件,例如 doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git 最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件!

2.知道git的诞生

同⽣活中的许多伟⼤事物⼀样,Git 诞⽣于⼀个极富纷争⼤举创新的年代。

Linux 内核开源项⽬有着为数众多的参与者。 绝⼤多数的 Linux 内核维护⼯作都花在了提交补丁和保存归档的繁琐事务上(1991−2002年间)。 到 2002 年,整个项⽬组开始启⽤⼀个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux内核社区免费使⽤ BitKeeper 的权⼒(据说是这个社区有很多大佬研究起了BitKeeper的实现代码,研究出了很多伪源代码并且开源,导致BitKeeper很生气,所以收回了免费使用许可)。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 LinusTorvalds)基于使⽤ BitKeeper 时的经验教训,开发出⾃⼰的版本系统。 他们对新的系统制订了若⼲⽬标:

• 速度

• 简单的设计

• 对⾮线性开发模式的强⼒⽀持(允许成千上万个并⾏开发的分⽀)

• 完全分布式

• 有能⼒⾼效管理类似 Linux 内核⼀样的超⼤规模项⽬(速度和数据量)

⾃诞⽣于 2005 年以来,Git ⽇臻成熟完善,在⾼度易⽤的同时,仍然保留着初期设定的⽬标。 它的速度⻜快,极其适合管理⼤项⽬,有着令⼈难以置信的⾮线性分⽀管理系统。

3.安装 git

输入命令 sudo yum install -y git

这里我已经下过了,所以我会出现Nothing to do

可以输入指令 git --version 或者which git来查看是否安装

4.登录gitee并且创建一个仓库

这里基础的gitee建议去bilibili看视频了解(也可以私我,我会单独为你出一期博客讲解一步一步创建使用gitee),这里我们直接切入创建的仓库

点击克隆/下载,复制HTTPS

下载项⽬到本地

创建好⼀个放置代码的⽬录.

使用命令git clone 【刚刚复制的HTTPS】

5.git三板斧

先看看最基本的git是什么样子的

.git才是我们真正的仓库,刚刚gitee里面的test.c文件克隆到我们本地linux上了,要想完成上传文件,其实本质就是将远端的gitee仓库拉到本地来,然后在本地创建新的文件,将新的文件加入到本地仓库,然后推到远端上去

git add 将代码放到刚才下载好的⽬录中

这里我们创建了一个code1.c并且加入到了仓库里面,吗??答案是并没有 ,其实只是加到了一个临时仓库里面,下面我们要将临时仓库里面的内容加到本地仓库里面

git commit 提交改动到本地

此时才算加入了本地仓库,而且此时git status也没有新的内容

git push 同步到远端服务器上

只需要输入指令 git push即可

现在刷新gitee

就可以发现code1.c内容了

这就是git的使用啦,git是一个值得深入探索的工具,我们以后会深入了解的,下篇博客见啦

相关推荐
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维