Git 仓库内容操作

Git 仓库内容操作 | CoderMast编程桅杆Git 仓库内容操作 添加文件到暂存区 使用如下指令将工作区的文件添加到暂存区,告诉 Git 在下次 commit 时哪些文件做出了修改。 commit 指令详看后续 添加一个或多个文件到暂存区: 添加指定目录到暂存区 添加当前目录下的所有文件到暂存区 查看仓库状态 在使用添加指令向暂存区添加文件后,可以使用如下指令来查看仓库当前状态,可以查看在上次提...icon-default.png?t=N7T8https://www.codermast.com/dev-tools/git/git-content-operations.html

添加文件到暂存区

使用如下指令将工作区的文件添加到暂存区,告诉 Git 在下次 commit 时哪些文件做出了修改。

commit 指令详看后续

  • 添加一个或多个文件到暂存区:

git add [file1] [file2] ...
  • 添加指定目录到暂存区
git add [dir]
  • 添加当前目录下的所有文件到暂存区
git add .

查看仓库状态

在使用添加指令向暂存区添加文件后,可以使用如下指令来查看仓库当前状态,可以查看在上次提交之后是否对文件有修改。

git status

该命令显示如下信息:

  • 当前分支的名称。
  • 当前分支与远程分支的关系(例如,是否是最新的)。
  • 未暂存的修改:显示已修改但尚未使用 git add 添加到暂存区的文件列表。
  • 未跟踪的文件:显示尚未纳入版本控制的新文件列表。

根据该指令通常可以判断当前工作目录中的文件状态,并采取适当的操作。

可以加上 -s 参数来获取简短的输出信息

git status -s

比较文件的不同

当工作区的内容提交到暂存区后,对工作区文件做出了修改,这时我们如果想对比具体修改了哪些部分,可以使用如下指令

  • 查看文件 file 工作区和暂存区的差别
git diff [file]
  • 显示暂存区和上一次提交 commit 的差别
# 两种写法均可
git diff --cached [file]
git diff --staged [file]
  • 显示两次提交之间的差异
git diff [first-branch]...[second-branch]

提交暂存区到本地仓库

前面使用 git add 指令将工作区文件添加到暂存区,但并没有实质的将文件添加到本地仓库,可以使用如下指令将文件从暂存区添加到本地仓库。

  • 提交暂存区中所有文件到本地仓库
git commit -m [message]

其中 message 是本次提交的一些备注信息。

  • 提交暂存区的指定文件到本地仓库
git commit [file1] [file2] ... -m [-a] [message] 

这里如果使用了 -a 参数,就代表直接将工作区文件提交到本地仓库。

回退版本

常常在项目版本控制的过程中,我们无意的提交了一些还尚未完成的版本,这时就需要使用到版本回退,使用如下指令可以指定退回某一次提交的版本,语法如下所示

git reset [--soft | --mixed | --hard] [HEAD]
  • --mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
`git reset [HEAD]`
  • --soft 参数用于回退到某个版本:
git reset --soft HEAD
  • --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
git reset --hard HEAD

警告

谨慎使用 –-hard 参数,它会删除回退点之前的所有信息。

HEAD 说明

  • HEAD 表示当前版本

  • HEAD^ 上一个版本

  • HEAD^^ 上上一个版本

  • HEAD^^^ 上上上一个版本

  • HEAD~0 表示当前版本

  • HEAD~1 上一个版本

  • HEAD^2 上上一个版本

  • HEAD^3 上上上一个版本

删除暂存区和工作区文件

git rm 命令用于删除文件。

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。

  • 将文件从暂存区和工作区中删除
git rm [-f] <file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。

  • 仅将文件从暂存区删除,而保留工作区
git rm --cached <file>

该指令把文件从暂存区域移除,但仍然保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可

  • 递归删除【与Linux中类似】

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件

git rm –r [dir]

该语句会删除 dir 目录下的所有文件和子目录。

移动或重命名工作区文件

  • 移动或重命名一个文件、目录或软连接
git mv [file] [newfile] 
  • 如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数:
git mv -f [file] [newfile]

恢复或撤销文件的更改

该命令作用包括还原文件到最新提交的状态、丢弃未暂存的更改、丢弃已暂存但未提交的更改等。

  • 还原文件到最新提交的状态
git restore <file>

该命令可以将指定文件 <file> 恢复到最新的提交状态,丢弃所有未提交的更改

  • 还原文件到暂存区的状态

如果你已经使用 git add 将文件添加到暂存区,但希望撤销这些更改,可以使用这个命令:

git restore --staged <file>

以上命令将文件 <file> 恢复到暂存区的状态,但不影响工作目录中的文件。

  • 还原全部更改

以下命令将还原所有未提交的更改,包括工作目录和暂存区的更改:

git restore .

使用这个命令要谨慎,因为它会清除所有未提交的修改。

  • 还原文件到指定提交的状态

如果你想将文件 <file> 恢复到特定提交 <commit> 的状态,可以使用以下命令:

git restore --source=<commit> <file>

这个命令在需要查看历史状态或将文件还原到历史版本时非常有用。

  • 交互式还原

以下命令允许你以交互方式选择要还原或保留的更改:

git restore -i

执行这个命令它会打开一个交互式界面,让你选择如何处理每个更改。

git restore 的目标是提供一种更直观、易于理解的方式来管理文件的状态,它的引入使得 Git 用户能够更容易地处理不同阶段的更改,从而提高了工作流的效率。

注意

git restore 是 Git 2.23 版本引入的一个命令,如果你使用的是较早版本的 Git,可能无法使用 git restore 命令,但你仍然可以使用 git checkout 等命令来进行类似的操作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg与sdl的个人笔记

说明 这里的ffmpeg基础知识和sdl基础知识仅提及与示例代码相关的知识点, 进阶可学习雷神的博客。 https://blog.csdn.net/leixiaohua1020 当然&#xff0c;如代码写的有问题或有更好的见解&#xff0c;欢迎指正&#xff01; 音视频基础知识 在学习音视频理论知识时&#xff…

CSS中设置透明度的2个属性:opacity,RGBA以及它们的区别

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具合…

试用了三个Ai音乐工具,我的偶像河图要完蛋了

试了三个生成音乐的ai工具&#xff0c;分别是爆火的suno,后期新秀udio&#xff0c;还有我们国内的天工。 先说感受&#xff0c;suno和天工我觉得稍微靠前&#xff0c;udio可能我的配置风格有问题&#xff0c;啪啪啪连选了好几个风格&#xff0c;生成的东西有点怪。 我随手写了…

【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录 一. 什么是机器学习1. 概念2. 机器学习算法分类 二. 利用预测模型解决问题的步骤三. 机器学习的Python生态圈 一. 什么是机器学习 1. 概念 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;是一门多领域的交叉学科&#xff0c;涉及概率论、统计学、…

深度学习 --- stanford cs231学习笔记(一)

stanford cs231学习笔记(一) 1&#xff0c;先是讲到了机器学习中的kNN算法&#xff0c;然后因为kNN分类器的一些弊端&#xff0c;引入了线性分类器。 kNN算法的三大弊端&#xff1a; (1)&#xff0c;计算量大&#xff0c;当特征比较多时表示性差 (2)&#xff0c;训练时耗时少…

01 - 安装Kettle

下载安装包 我这边提供的安装包是绿色版的&#xff0c;开箱即用 Kettle.exe 阿里云盘分享 提取码: 8sd5 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&#xff0c;视频原画倍速播放。 启动步骤 解压 双击Spo…

注意力机制(四)(多头注意力机制)

​&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《深度学习基础知识》 相关专栏&#xff1a; ⚽《机器学习基础知识》 &#x1f3d0;《机器学习项目实战》 &#x1f94e;《深度学习项目实…

Python | Leetcode Python题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; class Solution:def canJump(self, nums: List[int]) -> bool:n, rightmost len(nums), 0for i in range(n):if i < rightmost:rightmost max(rightmost, i nums[i])if rightmost > n - 1:return Truereturn False

闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子

前言 一个在实际应用中 EF Core 集成 FluentValidation 进行数据校验的例子。 Step By Step 步骤 创建一个 Asp.Net Core WebApi 项目 引用以下 Nuget 包 FluentValidation.AspNetCore Microsoft.AspNetCore.Identity.EntityFrameworkCore Microsoft.EntityFrameworkCore.Re…

Unity 合并子物体获得简化Mesh

合并子物体获得简化Mesh &#x1f959;环境&#x1f96a;Demo &#x1f959;环境 PackageManager安装Editor Coroutines 导入插件&#x1f448; &#x1f96a;Demo 生成参数微调&#xff1a;Assets/EasyColliderEditor/Scripts/VHACDSettings/VHACDSettings.asset

TDengine高可用架构之TDengine+Keepalived

之前在《TDengine高可用探讨》提到过&#xff0c;TDengine通过多副本和多节点能够保证数据库集群的高可用。单对于应用端来说&#xff0c;如果使用原生连接方式&#xff08;taosc&#xff09;还好&#xff0c;当一个节点下线&#xff0c;应用不会受到影响&#xff1b;但如果使用…

Kafka 3.x.x 入门到精通(03)——Kafka基础生产消息

Kafka 3.x.x 入门到精通&#xff08;03&#xff09;——对标尚硅谷Kafka教程 2. Kafka基础2.1 集群部署2.2 集群启动2.3 创建主题2.4 生产消息2.4.1 生产消息的基本步骤2.4.2 生产消息的基本代码2.4.3 发送消息2.4.3.1 拦截器2.4.3.1.1 增加拦截器类2.4.3.1.2 配置拦截器 2.4.3…

Mysql事务—隔离级别—脏读、不可重复读、幻读-遥遥领先版

事务的基本概念 事务就是一组原子性的操作&#xff0c;这些操作要么全部发生&#xff0c;要么全部不发生。事务把数据库从一种一致性状态转换成另一种一致性状态。 事务最经典也经常被拿出来说例子就是转账了。 假如小明要给小红转账1000元&#xff0c;这个转账会涉及到两个…

Linux进程——进程的概念(PCB的理解)

前言&#xff1a;在了解完冯诺依曼体系结构和操作系统之后&#xff0c;我们进入了Linux的下一篇章Linux进程&#xff0c;但在学习Linux进程之前&#xff0c;一定要阅读理解上一篇内容&#xff0c;理解“先描述&#xff0c;再组织”才能更好的理解进程的含义。 Linux进程学习基…

【中级软件设计师】上午题12-软件工程(3):项目活动图、软件风险、软件评审、软件项目估算

【中级软件设计师】上午题12-软件工程&#xff08;3&#xff09; 1 软件项目估算1.1 COCOMO估算模型1.2 COCOMOⅡ模型 2 进度管理2.1 gantt甘特图2.2 pert图2.3 项目活动图2.3.1 画项目图 3 软件配置管理4 软件风险4.1 风险管理4.2 风险识别4.3 风险预测4.4 风险评估4.5 风险控…

二叉树遍历递归法迭代法实现

一.递归法实现二叉树遍历 前序遍历 创建一个节点类 属性是val,左节点&#xff0c;右节点 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val x; } } 前序遍历 class Solution {public List<Integer> preorderTraversa…

微服务启动慢,看我如何消灭这些憨憨怪!

Hello&#xff0c;我是大都督周瑜&#xff0c;最近在公司做微服务启动速度的优化&#xff0c;我们有些微服务启动要花5-6分钟&#xff08;就问你夸不夸张&#xff09;&#xff0c;直接导致打工人们有了更多的划水时间&#xff0c;领导表示不开心&#xff0c;要求我将微服务的启…

python监听html click教程

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python实现监听HTML点击事件 在Web开发中&#xff0c;经常需要在用户与页面交互时执行一些…

乐观锁悲观锁

视频&#xff1a;什么是乐观锁&#xff1f;什么是悲观锁&#xff1f;_哔哩哔哩_bilibili

如何在电脑桌面上显示每天的待办事项?

对于上班族来说&#xff0c;每天面临的任务繁杂&#xff0c;很容易遗漏或忘记某些重要事项。因此&#xff0c;在电脑桌面上直接显示每天的待办事项显得尤为重要。例如&#xff0c;当你忙于处理邮件或编写报告时&#xff0c;桌面的待办事项提醒能够让你一目了然地掌握接下来的工…