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是一个值得深入探索的工具,我们以后会深入了解的,下篇博客见啦

相关推荐
qq_278984132 小时前
ubuntu vlan网络设置
linux·服务器·网络
q***58192 小时前
基础篇:Linux安装redis教程(详细)
linux·运维·redis
小二·2 小时前
Linux 高频面试题(50道 + 详细答案)
linux·运维·服务器
虹科测试测量2 小时前
德思特干货 | 单通道、多通道衰减器与衰减矩阵:如何选择合适的衰减方案
服务器·测试工具·算法·矩阵
z***39622 小时前
Nginx中如何配置WebSocket代理?
运维·websocket·nginx
今晚务必早点睡2 小时前
云服务器公共镜像怎么选?一文带你看懂 Ubuntu、Debian、CentOS、Rocky 的最佳使用场景
服务器·ubuntu·debian
忆林5202 小时前
请求服务任何资源(静态/动态)都返回主页数据?多nginx针对单域名的多服务配置
运维·nginx
FLPGYH3 小时前
BMC 深度解析:服务器带外管理的核心技术架构与实践
linux·服务器·c++·驱动开发
史丹利复合田3 小时前
在openEuler上安装Atune并成功运行
linux