【Git】四、Git工作

2026.4.15:超详细自动安装Ubuntu-Server的保姆级教程 这篇教程详细介绍了如何创建无人值守的Ubuntu Server 26.04自动安装镜像。主要内容包括:从安装镜像中提取autoinstall-user-data文件并修改为user-data配置文件;使用mkpasswd生成加密密码;通过软碟通工具修改ISO镜像,添加自动安装所需的user-data和meta-data文件;编辑grub.cfg引导文件以启用自动安装模式。教程提供了完整的yaml配置示例,包含网络、存储、用户等设置,并演示了最终制作完成的自动安装镜像效果。 阅读详情

一、Git创建仓库

  版本库:代码仓库(repository),可以理解为一个项目的目录,在这个项目的目录中Git对每个文件进行管理,记录每个文件的增删改查记录,并能够追踪历史,在需要的时候可以回退到某个“历史瞬间”。

  可以通过 Git init 命令来初始化代码仓库,将一个目录初始化为一个Git可以管理的仓库。

  

  也可以通过 Git clone <url> 将 <url> 中的代码仓库拷贝到本地。

二、基本操作

  基本操作按照操作流程来介绍,Git的操作流程分为以下几个

  1. 将修改的文件添加至暂存区

  2. 查看暂存区修改状态

  3. 将暂存区修改的文件提交至版本库

  4. 查看近期提交状态

  5. 回退到相应的历史时刻

 

  1. 将修改的文件添加至暂存区

  通过 Git add 命令将工作区的文件添加至暂存区。

  

  2. 查看暂存区修改

  将修改的文件添加至暂存区,如果要查看我修改了哪些文件的话,可以通过 Git status 命令查看 查看项目的当前状态,查看上次提交有没有修改。

  通过对工作区文件修改之后 Git status命令显示结果如下

  

  这样看到的只是我修改了哪个文件,那么要查看修改了什么内容就需要用到 Git diff <fileName> 命令,通过Git diff命令结果显示如下

  

  通过该命令可以看到我对文件进行了怎么样的修改,当然这种对比只能对比文本文件类文档,像Word,图片之类的文件是不能通过该命令对比的。

  3. 将暂存区文件提交至版本库

  当我们将修改好的文件提交至暂存区,并确定修改无误之后,我们需要将暂存区的文件提交至版本库,这个时候需要用到 Git commit -m "annotation" 进行提交, -m "" 是添加本次提交的注释

  

  注意:提交只是将暂存区文件提交至版本库,如果你是将文件添加至暂存区之后进行了二次修改并没有将文件二次加入暂存区,那么二次修改的内容是不会提交的。

  4. 查看近期提交状态

  现在已经将一次修改提交到了版本库中, 那么我要看一下我最近都是进行了什么修改,那么可以通过 Git log 来查看近期提交的记录

  

 

  5. 回退到相应的历史时刻

  那么可能会出现这种情况

  1) 如果我不小心将工作区的文件修改乱了而且还原起来不太容易,我想把文件回退到原来的样子

  通过 Git checkout -- <filename> 来讲工作区的文件回退到上一次 git commit 或 Git add 状态

  如果只是在工作区修改了,并没有通过 Git add 添加到暂存区 可以通过 Git checkout -- filename 来还原工作区文件

  

  如果在工作区修改了,并且通过Git add命令添加至暂存区,那么首先要清理暂存区文件,然后在通过 Git checkout -- filename 来还原工作区文件

  通过 Git reset HEAD <filename> 来清理暂存区文件

  

  2) 我需要删除一个文件

  首先在文件夹中删除时会导致工作区和版本库中文件不一致,那么有分为以下两种情况

  一、我需要删除版本库中的文件

  通过 Git rm <filename>,然后 Git commit 来移除版本库中文件

  

  二、我需要还原文件

  通过 Git checkout -- <filename> 来还原文件(该命令是用版本区的文件替换工作区的文件)

  

 

   3) 我要回退到某个版本

  首先,我们可以通过Git log 命令来查看最近的提交记录

  

  其中 commit 后面的一长串字符串是版本号(因为是分布式,所以和SVN的1,2,3不一致),列表是从最近开始往前列举了提交记录,如果我们要回退到上个版本,需要使用 Git reset --hard HEAD^

  

  可以看到版本已经回退到 a10aef5 可以在上面列表中看到,回退到了上个版本,

  分析一下这条命令, HEAD 表示的是当前的版本,HEAD^表示的是上个版本,HEAD^^表示上上个版本。 也可以使用 Git reset --hard <ID>(版本号,可以不用写全,Git会自己寻找,只要保证找到的唯一即可)

  当然也会出现这种状况,如果我需要回退到新的版本怎么办?在git log中已经找不到之前版本的版本号了。

  这时候就要祭出git reflog 这条命令了,这条命令记录了你所有的命令操作。

  

  这个时候我们可以看到之前的版本号了,使用git reset --hard id 来回退到新的版本。

三、标签

  对于标签,我的理解是一个别名,类似于IP于域名之间的关系,由于IP不好记忆,我们就采用了IP与域名之间进行一对一关系,我们可以记忆简单的域名,标签也是类似,由于版本号不好记忆,所以我们采用版本号与标签一对一关系,记忆简单的标签。

  首先,我们来给一个版本打上标签,使用git tag <name> <版本号> 来打上标签,如果没有版本号,默认当前版本

  

  要查看所有的标签可以使用 git tag 命令

  

  git show <tagname> 查看tag详细信息

  

  如果打错了标签,可以使用 git tag -d <tagname>

  

四、分支管理

  分支管理:如果需要完成一个功能需要一段时间,但是没完成之前提交会导致其他人不能正常工作,如果最后一次提交又存在丢失每天进度的风险。那么我们可以新建另外一个分支来进行修改。

  首先我们明确 HEAD 指向的是主分支 matser, 而master指向的是当前版本

  

  如果我们需要新建一个分支

  

  然后HEAD指针指向子分支Dev,

  

 

  那么我们可以直接修改Dev分支,如果需要合并的话,就提交Dev分支就好

  

  然后删除Dev分支

  

  下面开始说明如何进行操作

  首先创建一个分支 git branch dev

  然后切换到dev分支 git checkout dev

  

  也可以通过 git checkout -b dev 一条命令完成。

  我们要查看当前工作的分支时,采用命令 git branch

  

  其中 当前工作的分支前有 “*”

  当我们在这个分支写完之后,我们需要合并两个分支,采用命令git merge <dev> (用于合并指定分支到当前分支)

  

  合并之后,我们就可以删除dev子分支 git branch -d <branchname> 

  

五、远程库

  git 是分布式的,也就是说,可以将版本库放在不同机器上,我们来简单介绍一下如何将代码存储到远程代码仓库github

  首先,我们需要在github上创建代码仓库:

  

  

  本地连接远程仓库:git remote add origin <url>

  

  向远程服务器推送 : git push -u origin master

  

  这样就可以将本地仓库推送到服务器中。

  

YOLOv11涨点改进 | 全网创新首发、主干改进篇 | CVPR 2025 | RAVLT主干让 YOLOv11 更加强大!通过增强线性注意力机制,特别在小目标和复杂背景的检测上表现突出 本文提出RAVLT主干网络,通过改进YOLOv11的空间特征建模能力,显著提升小物体和复杂背景检测性能。RAVLT采用秩增强线性注意力(RALA)机制,在保持线性计算复杂度的同时解决传统线性注意力低秩问题。RALA通过增强KV缓冲区和输出特征矩阵的秩,提高特征多样性和建模能力。实验表明,RAVLT在ImageNet-1k上达到84.4% Top-1准确率,仅需2600万参数和4.6GFLOPs,性能优于现有线性注意力模型。文章详细介绍了RAVLT模块结构、实现原理及在YOLOv11中的集成方法,包含四种主干 阅读详情

相关推荐

python 成语接龙-连接数据库

from xpinyin import Pinyin import pymysql while 1: conn = pymysql.connect( host='localhost', #本地连接 user='root', #数据库账户名 password='password', #数据库密码 db='dic',

Hero2902的博客 598

四、git工作流

文章目录1、集中式工作流2、GitFlow工作流 Git工作流 简单来说就是,一个项目的成员们在工作中统一使用 Git的工作方式。 1、集中式工作流 像SVN一样,集中式工作流以中央仓库作为项目所有修改的单点实体。所有修改 都提交到Master这个分支上。 这种方式与SVN的主要区别就是开发人员有本地库。Git很多特性并没有用到 。 2、GitFlow工作流 Gitflow工作流通过为功...

爱码者的博客 488

SIMPLIS实战:从零构建理想BUCK电路,精准计算与POP稳态分析

本文详细介绍了如何使用SIMPLIS软件从零开始构建并仿真一个理想的BUCK降压电路。通过设定关键参数、计算理想器件值,并搭建仿真模型,文章重点演示了暂态仿真以观察电路上电过程,并深入讲解了高效的POP(周期性工作点)稳态分析技术,帮助工程师快速验证设计、评估稳态性能,从而加速电源设计迭代。

weixin_29165465的博客 396

四、git的工作区和暂存区

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。 先来看名词解释。 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我们之前建的mygit文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。 前面讲了我们把

weixin_38779534的博客 226

Xilinx XDMA IP核配置实战:AXI Memory Mapped vs Stream选型指南(附PCIe调试技巧)

本文深入解析Xilinx XDMA IP核配置中AXI Memory Mapped与AXI Stream两种DMA接口的核心区别与选型策略。针对PCIe高速数据传输场景,详细对比了二者在数据特性、延迟、硬件资源及软件复杂度上的差异,为FPGA工程师在数据采集、实时处理等项目中做出高效设计决策提供实战指南,并附有关键的PCIe调试技巧。

qsc901234的博客 585

FPGA+滨淞CCD实战:手把手教你搭建S7031/S10142成像电路(附避坑指南)

本文详细介绍了使用FPGA驱动滨淞CCD传感器(S7031/S10142)构建高精度成像系统的完整实战流程。内容涵盖核心器件选型、系统架构规划、电路板(焦面板与接口板)设计要点、FPGA Verilog逻辑实现,并提供了从电源管理、信号调理到数据采集的详细避坑指南,帮助读者从零搭建稳定可靠的成像电路。

weixin_29271263的博客 227

【Git】四、本地Git的工作原理

一、工作区 第一篇创建版本库讲的有些笼统,这里详细区分一下各个概念 在第一篇我们创建了一个文件夹GitRepo,但其实这个文件夹本身并不是版本库,只是我们的工作区。我们所有的文件创建和修改都在这里执行。 二、版本库 在工作区文件夹下面,有一个隐藏的目录,.git,这个才是用来管理git版本的版本库,具体如下图 版本库又分为两个部分,一个是暂存区,add进来的东西就放在暂存区;另一个是本地分支,c...

weixin_30827565的博客 73

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

git系列之(四)git stash工作原理

git系列之(四)git stash工作原理 git stash git stash listgit stash pop git系列之(四)git stash工作原理 posted @ 2017-10-31 09:47 李华丽 阅读(...) 评论(...) 编辑 收藏 ...

LHL62411570的专栏 533

MoveIt控制睿尔曼RM65机械臂:从仿真到实机的3种控制模式对比

本文详细解析了使用MoveIt框架控制睿尔曼RM65机械臂的三种核心模式:拖动规划、目标姿态规划和Python API控制,从Gazebo仿真到实机部署的完整实现路径。通过ROS环境配置、控制参数优化及实机过渡技术,为工业自动化和机器人研究提供实用指南。

727

python+playwright 学习-10.pytest-playwright插件编写测试用例

pytest-playwright插件完美的继承了pytest 用例框架和playwright基础使用的封装,基本能满足工作中的常规需求了,不需要我们再做额外的插件开发。

qq_27371025的博客 2519

Git学习(四)——Git工作区、暂存区、版本库

基本概念 我们先来理解下Git 工作区、暂存区和版本库概念: **工作区:**就是你在电脑里能看到的目录。 **暂存区:**英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存 区有时也叫作索引(index)。 **版本库:**工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 ...

Hacker_Wind的博客 423

R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)

R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)

data+scenario+science+insight 3926

四、GIT工作区与暂存区

工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD 工作流程 执行 git add,将文件修改放到暂存区 这时示例图如下: 执行 git comm

haolinbird的博客 99

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Git】git 从入门到实战系列(四)—— 工作区、暂存区以及版本库 .git 详解

上篇文章【Git】git 从入门到实战系列(三)——创建版本库我们总结了如何创建版本库,以及如何提交本地代码。本文我们总结工作区、暂存区以及对版本库 .git 文件夹里的内容进行详细介绍。了解工作区、暂存区和 .git 文件夹里的内容,能更透彻的理解 git 的机制,对该专栏后面的内容可以起到辅助的作用。知其然,更要知其所以然,理解的透彻,才能用的更好。如有疑问或建议,可在评论区交流沟通或添加作者微信沟通交流。作者微信 “_PiaoYaoXiaoWei_”,微信名"骠姚校尉"。

萧邯嵌入式笔记 1174

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Git 四 工作区、暂存区和版本库

Git 工作区、暂存区和版本库 基本概念 我们先来理解下 Git 工作区、暂存区和版本库概念: 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。一般存放在.git目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是 Git 的版本库。 下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系: 图中左侧为工作区,右侧为版本库。在版本库中标记...

W_H_M_2018的博客 323

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

四、GIt工作区与暂存区

参考文献: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782eb658c5a5ca454eaa451661275886c6000GIt与其他版本管理工具的一个不同之处,就是存在暂存区的概念工作区(Working Directory)就是本机电脑中的

qq_15792013的博客 296

Git使用 从入门到入土 收藏吃灰系列(四) Git工作原理

文章目录一、前言一、Git基本理论(核心)1.1工作区1.2工作流程 一、前言 参考安装Git 详细安装教程 参考视频B站 Git最新教程通俗易懂,这个有点长,感觉讲的精华不多 参考视频『Git』知道这些就够了_哔哩哔哩_bilibili,这个精华多,推荐看这个 参考视频7小时学会Git 基础全套完整教程(从入门到精通)_哔哩哔哩_bilibili,这个虽然长,但是他偏实践,对小白友好,特别有意思 附一个Git动画学习网站 Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com) 讲讲小张的

张时贰的博客 1217

git快速入门(四)工作区,暂存区以及master分支

接下来的内容涉及到工作区,暂存区,master分支之间的关系以及相应操作 git diff 目前为止,你已经知道了git add命令可以将工作区的内容添加到暂存区用以跟踪该文件的改动,git commit是将暂存区的内容同步到master分支,是不是果真如此呢,可以用git diff命令验证这个结论 15分钟 $ git diff -- readme.txt

alickr的博客 2240

Git教程:工作区和暂存区(四)

暂存区和工作区: 想要很好的使用Git,要非常清楚地一点就是Git暂存区和工作区的概念: 工作区就是我们的工作目录,比如我们的firstRep就是一个文件夹而已。 在我们的目录下有一个.git文件,它不属于工作区,而是我们的版本库。版本库中最重要的就是index(暂存区),还有Git自动为我们创建的第一个分支master分支,以及指向master的HEAD指针。 其实有了上述的概念,我们就很容易...

每天进步一点点 286

Git工作流指南(四):Gitflow工作流

这节介绍的Gitflow工作流借鉴自在nvie的Vincent Driessen。 Gitflow工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。 Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。除了使用功能分支,在做准备、维

浅者 803

Git使用四:查看工作状态和历史提交

查看当前的工作状态:git status On branch master:现在位于master分支里面nothing to commit, working tree clean:没有需要提交的文件,当前目录是干净的,即,在上一次提交过后,到目前为止,此目录下的内容没有被改变过 再新建一个文件,不加入暂存区,查看状态 提示有未跟踪文件,即有新添加,但并没有加到暂...

weixin_30871701的博客 146

Git(四)工作区、暂存区和版本库

基本概念 我们先来理解下Git 工作区、暂存区和版本库概念 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 下面这个图展示了工作区、版本库中的暂存区和版本库之...

java_shm的专栏 173

git系列之(四)git常用命令工作原理

有如下版本库的树型结构 (一)git cherry 如下图示:左上图①表示本地当前提交的历史记录。右上图②是远程库当前提交的历史记录。图③是两都之间的差异。默认比较本地分支(HEAD)和远程分支, 即当前分支和当前分支追踪的远程分支。找到本地提交列表中,尚未推送到远程的提交。等同如下git cherry origin/b1 b1(超前者为第二参数)git cherry origin/b...

LHL62411570的专栏 171

linux git 四 工作区与暂存区

修改文件 上次编辑了progress.txt文件那是第一版本 这次继续修改progress.txt文件是第二版本 查看修改结果,显示还未添加提交到仓库 查看具体修改内容,显示加了一行内容 [root@192 stupidgit]# vi progress.txt [root@192 stupidgit]# cat progress.txt I haven't learned anything today.Come on,will you. file changes for the first time.

weixin_51652371的博客 185

Git入门学习(四)-工作区和暂存区

继续偷个图:想要更详细更清晰更简洁明了的请戳这里,廖雪峰:史上最浅显易懂的Git教程! 如图所示, 工作区 工作区呢就是我们本地的目录路径,learngit文件夹就是一个工作区。 版本库 .git 这个隐藏目录不算工作区,是Git的版本库。 在版本库里面有一个 stage 这个是暂存区 还有一个 master 这是git自动为我们创建的分支 当我们将本地的文件提交到版本库时,首先进行的是 ...

return 464
上一篇: 【Git】三、工作区、暂存区、版本库
下一篇: 【Java】JavaIO(一)、基础知识
三生石1103
博客等级 码龄12年 16粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值