首页 > 其他分享 >git 常用操作

git 常用操作

时间:2024-04-27 23:33:25浏览次数:21  
标签:reset 常用 git -- HEAD 撤销 commit 操作

git 常用操作

1. 撤销 git add

撤销所有的已经 add 的文件

git reset HEAD -- .

撤销某个文件或文件夹

git reset HEAD -- filename

2. 撤销 git commit

git reset --soft HEAD^

HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2

其他参数解析:

  • --soft
    不删除工作空间改动代码,撤销commit,不撤销git add .
  • --mixed【默认】
    不删除工作空间改动代码,撤销commit,并且撤销git add .
    这个为默认参数, git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
  • -- hard
    删除工作空间改动代码,撤销commit,并且撤销git add .

补充:如果该仓库到目前为止只有commit过一次代码,则会报错:

$ git reset HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

3. git log 查看简洁的提交记录

# 只显示提交 ID 和 提交信息
git log --oneline

4. git reset

  • 工作区:ls 查看
  • 暂存区:git ls-files
  1. soft:git reset --soft 版本ID
    v1 v2 v3(这里我们回退到 v2)
    使用 git status 查看仓库状态:提示我们 files3 是一个新文件,因为 file3 这个文件是在 v3 版本才添加的,所以对于 v2 来说,这个 file3 就是一个新文件,这时我们就可以修改一下 file3 的内容,然后重新添加暂存和提交一下就可以了

  2. hard:
    git reset --hard HEAD^
    ls:file3 消失不见(工作区被删)
    git ls-files 暂存区中也不见了

  3. mixed(默认):git reset HEAD^
    工作区存在
    暂存区不见

5. git 中所有参数都是可以回溯的

git reflog
git reset --hard 版本号

6. git diff 查看差异


默认:比较 工作区和暂存区 之间的差异内容
git diff HEAD:比较 工作区 和 版本库 之间的差异
git diff -cached:比较 暂存区 和 版本库 之间的差异
git diff 版本1 版本2:比较 2个版本的 差异内容

7. 忽略文件 .gitignore

标签:reset,常用,git,--,HEAD,撤销,commit,操作
From: https://www.cnblogs.com/aclq/p/18162593

相关文章

  • git commit乱码
    从您提供的信息来看,您在尝试使用gitcommit命令提交代码时遇到了乱码问题。具体表现为提交信息包含乱码字符,无法正常识别。以下是对您所描述情况的分析与建议的恢复步骤:问题分析:提交信息乱码:您提供的提交信息'上传压缩包识别名称和描述不完全乱码'后面跟着的是一串看似无......
  • SpringBoot常用注解(部分)
     @Service:注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository:注解在类上,表示这是一个数据访问层bean@Component:注解在类上,表示通用bean,value不写默认就是类名首字母小写@Autowired:按照类型(Spring容器默认单例模......
  • 常用Git命令
    1常用流程初始化本地repo;针对每个优化版本,修改的散点及时add,并随时gitdiff--cached;验证一个featureOK后gitcommit-m“message”;gitinitgitstatus#列出未跟踪的文件、已修改的文件、已暂存的文件gitadd--allgitcommit-m"message"备注:git文件的四种状态......
  • Git 使用教程(新手学习)
    Git是一种分布式版本控制系统,用于管理软件项目的源代码。它是由Linux之父LinusTorvalds开发的,并已经成为了现代软件开发领域中最流行的版本控制系统之一。使用Git可以追踪代码的历史修改记录,方便团队协作、代码共享和代码重构。Git的基本工作流程如下:在开始编写代码之......
  • MBR2GPT.exe 是一个用于将磁盘从MBR分区转换为GPT分区的工具,而不会修改或删除磁盘上的
    MBR2GPT.exe是一个用于将磁盘从MBR分区转换为GPT分区的工具,而不会修改或删除磁盘上的数据。这个工具允许在Windows环境中执行转换操作,而不仅限于Windows预安装环境。它提供了一些选项来验证磁盘是否可以安全地转换,并执行实际的转换操作。在使用这个工具之前,用户可以选择进行......
  • EPAI手绘建模APP常用工具栏_1
    1、常用工具栏 图 1 常用工具栏(1) 撤销(2) 重做(3) 删除(4) 复制① 选中场景中的模型后,复制按钮变成可用状态,否则变成禁用状态。可以选择多个模型一起复制。(5) 变换图 2 变换操作杆 3变换-输入数值移动图 4 变换-计算器输入数值① 选中场景中的......
  • 二的幂次方判断——使用位运算-来源于lowbit操作
     解法:位运算的使用这里需要就是了解位运算的使用了lowbit函数x&-x这种算法其实是利用了计算机的补码性质。计算机为了表示负数,将对应的正数二进制全部取反再加一。lowbit是为了获取一个数的二进制中最低位的1对应的值,比如lowbit(10(10))=10(2),因为10的二进制表达是1010。......
  • 关于操作系统的论述
    计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。计算机软件是指程序、数据和文档的集合,是计算机系统的重要组成部分。按功能分,软件可分为系统软件,开发软件和应用软件三种。操作系统是计算机硬件上加载的第一层软件,是对计算机硬件功能的首次扩充。其他软......
  • MyBatis-Plus QueryWrapper常用方法
    1queryWrapper.lt();//小于2queryWrapper.le();//小于等于3queryWrapper.gt();//大于4queryWrapper.ge();//大于等于5queryWrapper.eq();......
  • Git基本使用
    目录序言Git是什么?为什么要做版本控制?安装git使用大体流程回滚回滚至之前版本回滚之之后版本撤销修改从暂存区回滚到工作区商城&紧急修复bug分支紧急修复bug方案命令总结工作流GitHub第五阶段:进军三里屯第一天上班前在家上传代码初次在公司新电脑下载代码下班回到家继续写代码到......