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

相关推荐
QT 小鲜肉12 分钟前
【Linux命令大全】001.文件管理之chown命令(实操篇)
linux·运维·服务器·笔记
爱宇阳17 分钟前
宝塔面板 + Nginx + Spring Boot 零停机滚动发布完整教程
运维·spring boot·nginx
全栈工程师修炼指南21 分钟前
Nginx | HTTP 反向代理:对上游服务端返回响应处理实践
运维·网络·nginx·安全·http
Data_Journal23 分钟前
Puppeteer vs. Playwright —— 哪个更好?
运维·人工智能·爬虫·媒体·静态代理
一只懒鱼a33 分钟前
搭建kafka集群(安装包 + docker方式)
运维·容器·kafka
永不停歇的蜗牛34 分钟前
K8S之rke2证书过期,如何处理以及遇到的问题
服务器·容器·kubernetes
扫描电镜36 分钟前
从 G1 到 G7:台式扫描电镜在稳定性与自动化上的技术演进
运维·人工智能·自动化
wanhengidc38 分钟前
电脑端 云手机都有哪些注意事项
运维·服务器·安全·智能手机·云计算
咕噜签名-铁蛋38 分钟前
DDoS攻击:网络安全的隐形风暴
服务器
uoscn39 分钟前
Skipping xxx as repository xxxx doesn‘t support architecture ‘i386‘
linux·u-boot