【Linux】—— git的管理以及使用

news2024/12/26 3:40:27

前言:

在上篇我们已经学习了关于调试器gdb的相关知识,本期我将为大家介绍的是关于版本控制工具——git的使用教程!!!


目录

前言

(一)git的历史介绍

(二)github和gitee

(三)使用方法

1、创建仓库

 2、安装git

 3、git三板斧

1️⃣ 三板斧第一招: git add

2️⃣ 三板斧第二招: git commit

3️⃣ 三板斧第三招: git push

4、其他相关的指令

总结


前言

 相信很多小伙伴都听说过Gitee/GitHub,但是呢可能并不知道它们和Git之间存在的关联!以及可能对 Git 都感到十分的陌生,本期文章就让我带领大家去了解关于 git 的那点事。

 Git 是一个开源的,去中心化的,分布式的版本控制系统,主要目的就是适用于管理大型或小型项目的源代码和文档等文件。它最初由 Linus Torvalds 开发,用于管理 Linux 内核的开发。

与其他版本控制系统不同,Git 在本地维护完整的版本库副本,使得操作速度更快、工作效率更高,并且不需要依赖中央服务器。这种分布式结构也使得 Git 更加灵活,允许多人同时协作开发,即使在离线状态下也可以进行修改和提交。

💨  综上所述,git其实对于我们在项目开发过程中也是重要的一个工具🔨,能够熟练使用它对我们以后将有着巨大的帮助!!!

 


(一)git的历史介绍

Git 的历史由来可以追溯到 Linux 内核开发中的版本控制问题。早期 Linux 内核使用 BitKeeper 进行版本控制,但是由于一些原因,BitKeeper 不再免费提供服务,并且内核社区对其协议也存在争议。

  • 🤜因此,Linus Torvalds 于2005年开始着手开发 Git,以解决这个问题。他的目标是创建一个简单、高效、可靠的分布式版本控制系统,能够满足大规模开源项目的需求 🤛

 Git 的设计理念基于 分布式版本控制每个开发者都拥有完整的代码仓库副本,使得操作速度更快、工作效率更高,并且不需要依赖中央服务器。这种分布式结构也使得 Git 更加灵活,允许多人同时协作开发,即使在离线状态下也可以进行修改和提交。

因此,自 Git 发布以来,它已经成为了世界上最流行的版本控制系统之一,被广泛应用于开源项目和商业项目中。除了 Linux 内核外,许多知名的开源项目,如 Ruby on Rails、jQuery、Android 等,也都使用 Git 进行版本控制。


(二)github和gitee

Gitee(码云)和Github(GitHub)都是面向开发者的代码托管平台,它们的作用都是提供代码仓库、版本控制、代码托管和协作开发等服务,让开发者可以方便地管理和分享代码。

区别如下:

  1. 托管公司不同Gitee是由国内著名云计算公司OSChina推出的,Github则是由微软公司旗下的GitHub公司运营;

  2. 目标用户群不同Gitee主要面向国内用户,Github则是全球开发者都在使用的平台;

  3. 访问速度不同:由于服务器的位置和网络因素,访问Github时是需要点魔法加持的,国内用户可以更快地访问Gitee,并享有更快的数据传输速度和更稳定的服务;

  4. 社区活跃度和生态环境不同 Github的生态环境非常丰富,拥有大量的开源项目和丰富的开发者社区,而且与全球开源社区和公司的合作非常紧密;Gitee更注重和中国本土的开源社区、公司、组织和开发者的合作。

 


(三)使用方法

再此我以Gitee为例为大家演示

1、创建仓库

第一步,首先我们需要到gitee官网申请注册一个账号:

  • 链接如下:gitee官网

 第二步,账号注册登陆之后,我们就可以开始创建仓库了:

  • 点击创建之后,便得到了我们想要的仓库了,具体如下图:

 

第三步, 仓库创建完成后,还需要进行一个重要步骤:设置开源

 2、安装git

通过上面的一系列操作将仓库创建好之后我们就可以将其拷贝到我们的本地仓库中了。

  •  首先,我们需要在Linux上安装 git,命令如下:
 sudo yum install -y git
  • 紧接着可以通过指令验证是否安装成功
 git --version

  • 下一步通过点击【克隆/下载】中的复制即可,通过HTTPS的形式将仓库的页面地址拷贝下来

 

 

  • 紧接着可以将这个仓库克隆你的本地了

此时可能就有小伙伴好奇了,虽然我已经把仓库克隆下来了,但是这个仓库在哪里呢?它长什么样呢?

  • 我们只需在当前文件中执行【ls -la】命令即可;

  • 我们还可以通过【tree .git】 就可以看到这个目录中的所有内容


 

 3、git三板斧

接下来我们在看看如何将本地的文件推送至远程仓库

1️⃣ 三板斧第一招: git add

  • 首先进行的就是【add】,也就是将当前目录下所有文件添加到暂存区

 

2️⃣ 三板斧第二招: git commit

  • 提交暂存区中的文件到版本库
  • 语法格式:git commit -m "日志",提交的时候应该注明提交日志, 描述改动的详细内容

 

3️⃣​​​​​​​ 三板斧第三招: git push

  • 同步到远端服务器上,需要填入用户名密码. 同步成功后, 刷新 gitee页面就能看到代码改动了.

 

  •  此时到gitee上刷新 页面就可以看到刚才提交的文件了

 


4、其他相关的指令

除了上述的“三板斧”之外,Git有很多不同的指令,以下是一些常用的Git指令:

  • git status:查看当前仓库状态,包括已修改、已添加和未跟踪的文件。

 

  • git rm 【file】:删除指定的文件
     

 

  • 在删除掉这个文件之后我们再来看看这个本地仓库和远程仓库的状态

 

  • git log:查看提交历史记录。

 

最后,如果有一天不想要这个仓库,我们也可以在Gitee上删除这个仓库

 

  • 最后输入密码点击确认即可:

 

除了上述命令以外还有如下指令,每个指令都有不同的参数和用法,可以通过在命令行中输入“git [指令] --help”查看详细的帮助文档:

  1. git checkout branch_name:切换到指定的分支。
  2. git merge branch_name:将指定的分支合并到当前分支。
  3. git pull:将远程仓库的修改拉到本地仓库。
  4. git remote:查看当前仓库在GitHub上的远程仓库地址。
  5. git stash:将当前未提交的修改储藏起来。
  6. git reset:回退提交版本到指定的状态。
  7. git diff:查看当前仓库与上一次提交版本的修改差异。


总结

到此本期的内容便讲解完毕了,接下来我们简单的回顾一下本文到学到了什么吧!

  1. 首先,我们对 git 进行了相应的解释,知道了它是干什么的,并且通过对 git的起源进行简单的叙述;
  2. 接下来,我们简单的对比了一下关于gitee和github,知道了两者之间的差别;
  3. 最后就是对于git的详细使用教程,通过具体如何创建一个库到接下来如何克隆到本地以及如何提交等都进行了详细的阐述。

以上就是本文的所有内容,感谢各位的观看与支持!!!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/609277.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity异步编程【6】——Unity中的UniTask如何取消指定的任务或所有的任务

今天儿童节,犬子已经9个多月了,今天是他的第一个儿童节。中年得子,其乐无穷(音:ku bu kan yan)…回头是岸啊 〇、 示例效果 一连创建5个异步任务[id 从0~4],先停止其中的第id 4的任务&#x…

Flutter进阶篇-布局(Layout)原理

1、约束、尺寸、位置 overrideWidget build(BuildContext context) {return Scaffold(body: LayoutBuilder(builder: (context, constraints) {print("body约束:" constraints.toString());return Container(color: Colors.black,width: 300,height: 300,child: L…

【企业化架构部署】基于Nginx搭建LNMP架构

文章目录 一、安装 MySQL 数据库1. 安装Mysql环境依赖包2. 创建运行用户3. 编译安装4. 修改mysql 配置文件5. 更改mysql安装目录和配置文件的属主属组6. 设置路径环境变量7. 初始化数据库8. 添加mysqld系统服务9. 修改mysql 的登录密码10. 授权远程登录 二、编译安装 nginx 服务…

Maven 工具

Maven 工具 Maven简介Maven 基础概念创建 Maven项目依赖配置生命周期与插件分模块开发聚合和继承聚合继承聚合与继承的区别 属性版本管理多环境配置与应用私服 Maven简介 Maven 本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM…

【爬虫】3.4爬取网站复杂数据

1. Web服务器网站 进一步把前面的Web网站的mysql.html, python.html, java.html丰富其中 的内容&#xff0c;并加上图形&#xff1a; mysql.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>my…

ICV报告: 智能座舱SoC全球市场规模预计2025年突破50亿美元

在智能化、互联化车辆需求不断增加的推动下&#xff0c;汽车行业正在经历一场范式转变。这一转变的前沿之一是智能座舱SoC。本市场研究报告对智能座舱SoC市场进行了全面的分析&#xff0c;包括其应用领域、当前状况和主要行业参与者。 智能座舱SoC指的是现代汽车智能座舱系统的…

Qt6.5.1+WebRTC学习笔记(十)开发环境搭建(win10+vs2022)

一、准备 1.操作系统win10 64位 2.合理的上网方式&#xff0c;需要正常访问google,最好有40G以上流量 3.安装VS2022&#xff0c;笔者使用的是社区版&#xff0c;并选中C相关&#xff0c;笔者设置如下 注意&#xff0c;win10的sdk需要是10.0.22621.0&#xff0c;其他版本可能…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--06 Transforming

06 Transforming 大语言模型&#xff08;LLM&#xff09;很擅于将输入转换为不同格式的输出&#xff0c;比如翻译、拼写校正或HTML格式转化。相比于复杂的正则表达式&#xff0c;Chat GPT实现更加准确和高效。 1) 不同语种的转换 下述语句实现了英文到西班牙语的翻译。 pro…

Windows IIS/docker+gunicorn两种方式部署django项目

写在最前 本篇文章并不涉及如何使用宝塔搭建django项目&#xff0c;仅适用于windows和docker部署&#xff0c;其中docker是运行在linux平台上的&#xff0c;如果您想在windows上运行docker&#xff0c;请自行搜索如何在windows上运行docker 一、Windows IIS部署 软件版本Win…

MySQL-Linux版安装

MySQL-Linux版安装 1、准备一台Linux服务器 云服务器或者虚拟机都可以&#xff1b; Linux的版本为 CentOS7&#xff1b; 2、 下载Linux版MySQL安装包 下载地址 3、上传MySQL安装包 使用FinalShell软件上传即可&#xff01; 4、 创建目录,并解压 mkdir mysqltar -xvf my…

【SpringCloud学习笔记】zuul网关

【SpringCloud学习笔记】 为什么需要网关zuul网关搭建zuul网关服务网关过滤器 为什么需要网关 微服务项目一般有多个服务&#xff0c;每个服务的地址都不同&#xff0c;客户端如果直接访问服务&#xff0c;无疑是增加客户端开发难度&#xff0c;项目小还好&#xff0c;如果项目…

【图像任务】Transformer系列.1

介绍几篇改进Transformer模型实现亮度增强、图像重建的任务&#xff1a;LLFormer&#xff08;AAAI2023&#xff09;&#xff0c;DLSN&#xff08;TPAMI2023&#xff09;&#xff0c;CAT&#xff08;NeurIPS2022&#xff09;。 Ultra-High-Definition Low-Light Image Enhanceme…

Linux | 进程控制

啊我摔倒了..有没有人扶我起来学习.... &#x1f471;个人主页&#xff1a; 《 C G o d 的个人主页》 \color{Darkorange}{《CGod的个人主页》} 《CGod的个人主页》交个朋友叭~ &#x1f492;个人社区&#xff1a; 《编程成神技术交流社区》 \color{Darkorange}{《编程成神技术…

Redis的内存策略

过期Key处理: 1)Redis之所以性能强大&#xff0c;最主要的原因就是基于内存来存储&#xff0c;然而单节点的Redis内存不宜设置的过大&#xff0c;否则会影响持久化或者是主从复制的性能&#xff0c;可以通过修改配置文件来设置redis的最大内存&#xff0c;通过maxmemory 1gb&am…

javaScript蓝桥杯-----粒粒皆辛苦

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 俗话说“民以食为天”&#xff0c;粮食的收成直接影响着民生问题&#xff0c;通过对农作物产量的统计数据也能分析出诸多实际问题。 接下来就让我们使用 ECharts 图表&#xff0c;完成 X 市近五年来的农作物产量的统…

Python批量下载参考文献|基于Python的Sci-Hub下载脚本|Python批量下载sci-hub文献|如何使用sci-hub批量下载论文

本篇博文将介绍如何通过Python的代码实现快速下载指定DOI号对应的文献&#xff0c;并且使用Sci-Hub作为下载库。 一、库函数准备 在开始之前&#xff0c;我们需要先安装一些必要的库&#xff0c;包括&#xff1a; requests&#xff1a;发送HTTP请求并获取响应的库&#xff1…

南山城市更新--向南村(一期,二期)项目详情

向南村&#xff08;一期&#xff09;城市更新单元项目简介 项目于2010年被列入《深圳城市更新单元规划制定计划第一批计划》中&#xff0c;申报主体为向南实业股份有限公司&#xff0c;后与恒大合作开发。 项目位于南山区桂庙路南侧&#xff0c;毗邻前海、衔接后海&am…

经典算法:Fenwick Tree

经典算法&#xff1a;Fenwick Tree 1. 算法简介2. 原理介绍3. 算法实现4. 例题说明 1. 解题思路2. 代码实现 5. 参考链接 1. 算法简介 Fenwick Tree又称为Binary Indexed Tree&#xff0c;也算是一种常见的数据结构了。 他其实某种意义上来说算是Segment Tree的一种变体&…

克隆虚拟机

上一篇我们已经讲过了启动虚拟机并安装Linux系统&#xff0c;下面我们来讲一下如何通过已经创建好的虚拟机spark01克隆出spark02和spark03来&#xff0c;从而满足搭建大数据集群环境需要多台虚拟机的需求。 首先我们要理解两个概念&#xff1a; 1.完整克隆 完整克隆的虚拟机可…

【算法证明 三】计算顺序统计量的复杂度

计算顺序统计量&#xff0c;在 c 标准库中对应有一个函数&#xff1a;nth_element。其作用是求解一个数组中第 k 大的数字。常见的算法是基于 partition 的分治算法。不难证明这种算法的最坏复杂度是 Θ ( n 2 ) \Theta(n^2) Θ(n2)。但是其期望复杂度是 Θ ( n ) \Theta(n) …