当前位置: 首页 > news >正文

【Linux】Linux下git的使用

文章目录

  • 一、什么是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

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

相关文章:

【Linux】Linux下git的使用

文章目录 一、什么是git二、git发展史三、Gitee仓库的创建1.新建仓库2.复制仓库链接3.在命令行克隆仓库3.1仓库里的.gitignore是什么3.2仓库里的git是什么 三、git的基本使用1.将克隆仓库的新增文件添加到暂存区(本地仓库)2.将暂存区的文件添加到.git仓库中3.将.git仓库中的变化…...

QT读写配置文件

文章目录 一、概述二、使用步骤1.引入头文件2.头文件的public中定义配置文件对象3.初始化 一、概述 Qt中常见的配置文件为(.ini)文件,其中ini是Initialization File的缩写,即初始化文件。 配置文件的格式如下所示: 模…...

【计算机网络】12、frp 内网穿透

文章目录 一、服务端设置二、客户端设置 frp :A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet。是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且…...

Pytest 重复执行用例插件----pytest-repeat

前言 在自动化过程中,想要重复执行一条脚本,查看他的稳定性,如果是在unittest框架中,可能会使用for一直循环这条用例,但是当我们使用pytest框架后,我们就可以通过某些插件来实现这个功能了。今天介绍的这个…...

【软件工程】5 ATM系统测试

目录 5 ATM系统测试 5.1 单元测试 5.1.1 制定单元测试计划 5.1.2 设计单元测试用例 ​编辑 5.1.3 执行单元测试 5.1.4 单元测试报告 5.2 集成测试 5.2.1 制定集成测试计划 5.2.2 设计集成测试用例 5.2.3 执行集成测试 5.2.4 集成测试总结 5.3 系统测试 5.3.1 制定…...

opencv读取MP4文件和摄像头数据

文章目录 前言一、waitKey函数二、VideoCapture类总结前言 本篇文章来讲解opencv读取MP4文件和摄像头数据,opencv主要用于处理图像数据那么本篇文章就来讲解opencv读取MP4文件和摄像头数据。 一、waitKey函数 waitKey()函数是OpenCV中常用的一个函数,它用于等待用户按键输…...

Qt实现自定义QDoubleSpinBox软键盘

在Qt应用程序开发中,经常会遇到需要自定义输入控件的需求。其中,对于QDoubleSpinBox控件,如果希望在点击时弹出一个自定义的软键盘,以便用户输入数值,并将输入的值设置给QDoubleSpinBox,该如何实现呢&#…...

小研究 - 微服务系统服务依赖发现技术综述(一)

微服务架构得到了广泛的部署与应用, 提升了软件系统开发的效率, 降低了系统更新与维护的成本, 提高了系统的可扩展性. 但微服务变更频繁、异构融合等特点使得微服务故障频发、其故障传播快且影响大, 同时微服务间复杂的调用依赖关系或逻辑依赖关系又使得其故障难以被及时、准确…...

2023-08-07力扣今日八题

链接&#xff1a; 剑指 Offer 50. 第一个只出现一次的字符 题意&#xff1a; 如题 解&#xff1a; map存下标&#xff0c;由于存在下标0&#xff0c;所以用find&#xff0c;或者记录下标1也可以 实际代码&#xff1a; #include<bits/stdc.h> using namespace std;…...

Segment Anything【论文翻译】

文章目录 论文基础信息如下Abstract1. Introduction2. Segment Anything Task3. Segment Anything Model4. Segment Anything Data Engine5. Segment Anything Dataset6. Segment Anything RAI Analysis7. Zero-Shot Transfer Experiments7.1. Zero-Shot Single Point Valid Ma…...

银河麒麟QT连接DM8数据库

1. 安装达梦8 官网下载, 按照官方文档进行安装即可. 2. 安装unixodbc 1> 下载odbc安装包 unixODBC-2.3.7pre.tar.gz 2> 解压 tar -xvf unixODBC-2.3.7pre.tar.gz3> 编译 ./configure -prefix /usr/local make && make install4> 查找配置 odbcinst -j5…...

并发编程1:线程安全性概述

目录 1、什么是线程安全性&#xff1f; 2、操作的原子性&#xff1a;避免竞态条件 3、锁机制&#xff1a;内置锁和可重入 4、如何用锁来保护状态&#xff1f; 5、同步机制中的活跃性与性能问题 编写线程安全的代码&#xff0c;其核心在于对状态访问操作进行管理&#xff0…...

(论文复现)DeepAnt模型复现及应用

DeepAnt论文如下&#xff0c;其主要是用于时间序列的无监督粗差探测。 其提出的模型架构如下&#xff1a; 该文提出了一个无监督的时间序列粗差探测模型&#xff0c;其主要有预测模块和探测模块组成&#xff0c;其中预测模块的网络结构如下。 预测结构是将时间序列数据组…...

【机器学习】在 MLOps构建项目 ( MLOps2)

My MLOps tutorials: Tutorial 1: A Beginner-Friendly Introduction to MLOps教程 2&#xff1a;使用 MLOps 构建机器学习项目 一、说明 如果你希望将机器学习项目提升到一个新的水平&#xff0c;MLOps 是该过程的重要组成部分。在本文中&#xff0c;我们将以经典手写数字分类…...

【MySQL】聚合函数与分组查询

文章目录 一、聚合函数1.1 count 返回查询到的数据的数量1.2 sum 返回查询到的数据的总和1.3 avg 返回查询到的数据的平均值1.4 max 返回查询到的数据的最大值1.5 min 返回查询到的数据的最小值 二、分组查询group by2.1 导入雇员信息表2.2 找到最高薪资和员工平均薪资2.3 显示…...

conda 环境 numpy 安装报错需要 Microsoft Visual C++ 14.0

到公司装深度学校环境。项目较旧&#xff0c;安装依赖&#xff0c;一堆报错&#xff08;基于 conda 环境&#xff09;&#xff1a; numpy 安装报需要 C 14.0 No module named numpy.distutils._msvccompiler in numpy.distutils; trying from distutilserror: Microsoft Visu…...

算法工程师-机器学习面试题总结(5)

什么是信息熵&#xff1f; 信息熵是信息理论中用来衡量一个随机变量的不确定度或者信息量的概念。它是在给定一组可能的事件中&#xff0c;对每个事件发生的概率进行加权平均得到的值。 在信息熵的计算中&#xff0c;概率越大的事件所带来的信息量越小&#xff0c;概率越小的事…...

论文阅读 RRNet: A Hybrid Detector for Object Detection in Drone-captured Images

文章目录 RRNet: A Hybrid Detector for Object Detection in Drone-captured ImagesAbstract1. Introduction2. Related work3. AdaResampling4. Re-Regression Net4.1. Coarse detector4.2. Re-Regression 5. Experiments5.1. Data augmentation5.2. Network details5.3. Tra…...

js执行机制

JavaScript 的执行机制是基于单线程的事件循环模型。这意味着 JavaScript 代码会按照顺序一行一行地执行&#xff0c;同时只能执行一个任务。让我们更详细地了解 JavaScript 的执行机制&#xff1a; 调用栈&#xff08;Call Stack&#xff09;&#xff1a; JavaScript 使用调用…...

关于策略模式的注入问题

上面抄别人的 当在实现策略方法时&#xff0c;报null&#xff0c;排查后发现是接口实现有多个&#xff0c;需要添加别名 注入时添加Qeualifier&#xff0c;指定名称&#xff0c;如下图&#xff1b;如图上修改&#xff0c; 测试类中不用new具体行为策略了&#xff0c;注入别名即…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...