【Linux】Linux下git的使用

news2024/12/24 11:37:48

文章目录

  • 一、什么是git
  • 二、git发展史
  • 三、Gitee仓库的创建
    • 1.新建仓库
    • 2.复制仓库链接
    • 3.在命令行克隆仓库
    • 3.1仓库里的.gitignore是什么
    • 3.2仓库里的git是什么
  • 三、git的基本使用
    • 1.将克隆仓库的新增文件添加到暂存区(本地仓库)
    • 2.将暂存区的文件添加到.git仓库中
    • 3.将.git仓库中的变化文件上传到远程仓库
  • 四、其他git指令
    • 1.Linux上git安装
    • 2.查看仓库日志信息
    • 3.查看暂存区,仓库文件的变更状态
    • 4.对仓库文件重命名/删除
    • 5.从远端仓库拉取最新版文件

一、什么是git

Git是一种分布式版本控制系统,用于跟踪代码的更改,以便多个人可以在同一代码库上协作开发。Git具有分布式的特性,允许多个开发者在本地开发并提交代码,而不需要连接到远程服务器。Git还提供了一些管理代码库的功能,例如分支、合并和回滚。它是开源的,由Linus Torvalds于2005年创建。Git已成为许多开源项目和商业软件开发的主要工具

我们以一个例子来对git进行更好的理解:

我们在大学时需要交很多实验报告,假如有一个人叫张三,他拿着他的实验报告去交给老师,他们老师十分的严格,一看张三做得很不好,就被打退回来重做,张三就在原来的基础上进行修改,然后又去交给老师,老师还是不满意,张三又继续修改,多次之后,老师说:张三啊,你这越改越差,你就把你第一次的实验报告交给我就可以了。张三这时蒙了,他上哪去找他第一份的实验报告。他的室友叫了张三的情况,所以被老师打退回来之后就留了一个心眼,他就把第一份的报告保存了一份,然后再进行修改,这样无论老师要哪一份,他手中都有,所以这个室友就说,你们有什么保存需要版本管理的就发给我,我帮你们保存,需要的时候找我拿即可,然后不断进行推广,用代码进行实现,自己一份,需要的人一份,这就是版本控制器,然后自建网站,此时已经不需要客户端,直接在浏览器上就可以操作,比如gitee和github

二、git发展史

雷纳斯-托瓦兹在将Linux源码开源之后,世界各地的顶级程序员或者黑客等等就向他提供他们编写的代码,所以雷纳斯-托瓦兹就一个人将他们的代码不断的扩充,合并代码,但是这样就十分的费力,然后他准备一家收费的版本控制器公司进行购买,但是顶级程序员觉得一款免费的软件使用的是一款付费的软件,这样就违背了开源的初衷,但是这家公司最后也乐意免费给他们使用,但是后面有一些好奇的程序员就打算破解这个版本控制器的源码,却被这家公司发现了,这家公司的老板就十分生气,就不允许他们使用了,这时雷纳斯-托瓦兹就十分的恼火,最终他经过2-3周的时间自己开发了一个版本控制器-git,并且也进行了开源。后来Git的开发者们一直在不断地改进它,使其更加稳定、高效和易用。

Git的发展史可以说是一个不断完善和发展的过程,它的成功得益于它的开源性、高效性和可扩展性。

三、Gitee仓库的创建

gitee链接:gitee

我们可以先点击上面链接注册,然后就可以进行下面的操作

1.新建仓库

在这里插入图片描述

2.复制仓库链接

在这里插入图片描述

3.在命令行克隆仓库

git clone https://gitee.com/call-me-xiao-hou/linux.git

注意这里我们需要输入我们注册gitee的账号和密码,至此我们的仓库就建立好了:

在这里插入图片描述

3.1仓库里的.gitignore是什么

我们进入仓库之后有如下的文件:

在这里插入图片描述

我们进入.gitignore文件之后发现有如下的内容:

在这里插入图片描述

我们发现里面保存的是文件的后缀,并且在这个文件内部的后缀,对应的文件,不会被上传到gitee上

3.2仓库里的git是什么

这个.git就是我们所说的仓库,本质就是一个目录,里面保存的是本地仓库的内容,push到远端仓库的本质就是将.git仓库里的内容同步到gitee上面(gitee也有类似.git的文件,我们看不到罢了)

三、git的基本使用

我以提交我下面的进度条的实现的代码为例:

在这里插入图片描述

1.将克隆仓库的新增文件添加到暂存区(本地仓库)

git add .

在这里插入图片描述

git add命令可以指定要添加的文件,只需在命令后面加上文件路径或文件名即可。例如,要添加名为"example.txt"的文件,可以使用以下命令:

git add example.txt

也可以指定一个目录来添加该目录下的所有文件,例如:

git add myfolder/

这将添加 “myfolder” 目录中的所有文件

2.将暂存区的文件添加到.git仓库中

git commit -m '提交日志描述'

我们后面必须加上提交日志的信息,没有的话就会报错,这个信息不能够乱写,

3.将.git仓库中的变化文件上传到远程仓库

git push

这个时候我们需要输入gitee的名称和密码

在这里插入图片描述

然后我们在gitee上面进行刷新之后,我们的文件就传递上去了:

在这里插入图片描述

四、其他git指令

1.Linux上git安装

sudo yum -y install git

我们首次使用git会提示你完善邮箱和用户名:

我们按照指令提示一次完善即可。

注意:我们这里完善邮箱和姓名的目的是为了在公司的时候,我们提交的代码就一直存在,如果我们的代码出问题了,那么别人可以通过邮箱联系我们

2.查看仓库日志信息

git log

在这里插入图片描述

3.查看暂存区,仓库文件的变更状态

git status

在这里插入图片描述

我们将上级目录的Makefile文件拷贝到当前目录,然后执行git add .

在这里插入图片描述

我们继续执行git commit 和git push

4.对仓库文件重命名/删除

git mv 需要修改的文件名  修改之后的文件名
git rm -f 文件名

对克隆仓库内文件的重命名使用git mv,删除使用git rm,这个操作只是我们对本地的文件进行的操作,如果我们要对远端的代码进行同步就需要重新执行git commit -m 和git push

5.从远端仓库拉取最新版文件

git pull

当远端仓库发生更改之后,本地再提交代码的时候就会出现冲突的现象,此时我们需要把远端的最新版文件拉取到本地,然后再进行提交

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

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

相关文章

4.msf辅助模块

目录 1 在虚拟机中设置与外部相同的网段 2 当前内网中的可用IP arp_sweep 3 搜索指定IP的TCP端口信息 portscan/tcp 4 扫描http服务的路由 http/dir_scanner 5 SSH密码爆破 ssh/ssh_login 1 在虚拟机中设置与外部相同的网段 我真实机的地址的网段是192.168.0 我虚拟…

【大模型】开源且可商用的大模型通义千问-7B(Qwen-7B)来了

【大模型】开源且可商用的大模型通义千问-7B(Qwen-7B)来了 新闻通义千问 - 7B 介绍评测表现快速使用环境要求安装相关的依赖库推荐安装flash-attention来提高你的运行效率以及降低显存占用使用 Transformers 运行模型使用 ModelScope 运行模型 量化长文本…

SAP标准搜索帮助(Search Help)改造之标准增强点

1. 搜索帮助加载前 包含程序:LWDTMO01 行:40 标准搜索帮助输出前的控制(影响标准Search Help CDS View Search Help(如果在标准Search Help搜索帮助出口函数上修改控制参数,则不会影响 CDS View Search Help&#xf…

【Kubernetes】Kubernetes之二进制部署

kubernetes 一、Kubernetes 的安装部署1. 常见的安装部署方式1.1 Minikube1.2 Kubeadm1.3 二进制安装部署2. K8S 部署 二进制与高可用的区别2.1 二进制部署2.2 kubeadm 部署二、Kubernetes 二进制部署过程1. 服务器相关设置以及架构2. 操作系统初始化配置3. 部署 etcd 集群4. 部…

Vue——formcreate表单设计器自定义组件实现(二)

前面我写过一个自定义电子签名的formcreate表单设计器组件,那时初识formcreate各种使用也颇为生疏,不过总算套出了一个组件不是。此次时隔半年又有机会接触formcreate,重新熟悉和领悟了一番各个方法和使用指南。趁热打铁将此次心得再次分享。…

python爬虫1:基础知识

python爬虫1:基础知识 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 目录结构 文章目录 python爬虫1:基础知识1. 基础认知1.1 什么是爬虫&…

【2023】XXL-Job 具体通过docker 配置安装容器,再通过springboot执行注册实现完整流程

【2023】XXL-Job 具体通过docker 配置安装容器,再通过springboot执行注册实现 一、概述二、安装1、拉取镜像2、创建数据库3、创建容器并运行3、查看容器和日志4、打开网页 127.0.0.1:9051/xxl-job-admin/ 三、实现注册测试1、创建一个SpringBoot项目、添加依赖。2、…

steam搬砖项目拆解,长久稳定

steam搬砖指将"CS:GO"的游戏道具从国外游戏平台搬到国内的游戏平台(一般都是在网易BUFF)进行贩卖,从而赚取道具商品差价或者汇率的差价。 首先,Steam是全球最大的游戏平台,拥有上亿的玩家,同时在…

ISC 2023︱诚邀您参与赛宁“安全验证评估”论坛

​​8月9日-10日,第十一届互联网安全大会(简称ISC 2023)将在北京国家会议中心举办。本次大会以“安全即服务,开启人工智能时代数字安全新范式”为主题,打造全球首场AI数字安全峰会,赋予安全即服务新时代内涵…

数据驱动+自动化测试

自动化测试代码优化 setUp 在每个测试用例执行之前执行 tearDown 在每个测试用例执行完以后执行 所以,可以利用setUp,把测试用例中的通用代码提取出来,减少冗余 数据驱动测试:优化自动化测试 安装: pip install p…

JDK19 - synchronized关键字导致的虚拟线程PINNED

JDK19 - synchronized关键字导致的虚拟线程PINNED 前言一. PINNED是什么意思1.1 synchronized 绑定测试1.2 synchronized 关键字的替代 二. -Djdk.tracePinnedThreads的作用和坑2.1 死锁案例测试2.2 发生原因的推测2.3 总结 前言 在 虚拟线程详解 这篇文章里面,我们…

Protues 仿真报错Internal Exception: access violation in module ‘UNKNOWN‘[7ADEEEA9]

在使用STM32F103C8进行Protues仿真设计的时候,出现了这个报错,通过查找和定位问题,发现是我在配置供电网络的时候配置错误,要配置成如下: 至于为什么回这样,我猜想应该是和这个软件导入STM32芯片的时候&…

300个智商测试FLASH智商游戏ACCESS数据库

最近在找IQ测试方面的数据,网上大多只留传着33道题这种类型,其他的又因各种条件(比如图片含水印等)不能弄,这是从测智网下载的一些测试智商的游戏数据,游戏文件是FLASH的,扩展名是SWF。 数据包总…

FineReport主题组件使用

主题 添加主题 服务器-》模版主题管理,设置决策报表与普通报表的模版主题: 修改内置模版,打开,点击另存为设置自己的主题名称,保存主题 根据自己需求设置模版相关样式:模版背景、单元格样式、图表样式、…

模板方法设计模式(C++)

定义 定义一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(override重写)该算法的某些特定步骤。 ——《设计模式》GoF Template Method模式是一种非常基…

转录组下游分析 | 懒人分析推荐

写在前面 今天在GitHub看到一个博主写的RNASeqTool的ShinApp,里面包含了PCA、DESeq2、volcano、NormEnrich、GSEA、Gene tred analysis和WGCNA分析。使用后还是很方便的,就此推荐给大家。感兴趣可以自己操作即可。 GitHub网址 https://github.com/Cha…

QT以管理员身份运行

以下配置后,QT在QT Creator调试时,或者生成的.exe程序,都将会默认以管理员身份运行。 一、MSVC编译器 1、在Pro文件中添加以下代码: QMAKE_LFLAGS /MANIFESTUAC:\"level\requireAdministrator\ uiAccess\false\\" …

Java 8 中使用 Stream 遍历树形结构

在实际开发中,我们经常会开发菜单,树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看&#x…

利用openTCS实现车辆调度系统(二)openTCS下载部署

openTCS下载 **openTCS不是一个部署即用的系统,需要自己做一部分二次开发工作。这里先下载打包好的应用,了解openTCS的功能:应用下载地址**整个部署使用部分包括,启动程序、应用地图、准备设备、下发订单。 1、启动调度内核 双…

idea中cherry pick怎么用

网上的文章比较杂乱,具体idea里面怎么操作,好像没有个成型的文章 cherry pick的作用: 简而言之就是同一个commit,然后复制提交到其他分支(只检出本次提交的); 解决的问题: 两个分…