首页 > 其他分享 >在Git中撤消更改的六种方法总结

在Git中撤消更改的六种方法总结

时间:2024-12-11 15:45:45浏览次数:5  
标签:reset git 撤消 更改 六种 -- Git 提交 使用

在Git中,撤消更改是一个常见的操作,以下是主机邦收集的六种常用的方法来撤消更改:

  1. 使用 git checkoutgit restore

    • 如果你想要撤销对文件的更改(即恢复到最后一次提交的状态),可以使用:
      git checkout -- <file>
      
    • 或者使用git restore(Git 2.23+):
      git restore --source=HEAD -- <file>
      
  2. 使用 git reset

    • 如果你想要撤销对暂存区(staged)的更改,可以使用:
      git reset HEAD <file>
      
    • 如果你想要撤销最近的提交(不改变工作目录),可以使用:
      git reset --soft HEAD~1
      
    • 如果你想要撤销最近的提交并且撤销工作目录中的更改,可以使用:
      git reset --hard HEAD~1
      
    • 注意:--hard 会丢失所有未提交的更改,所以请谨慎使用。
  3. 使用 git revert

    • 如果你想要撤销已经推送到远程仓库的更改,可以使用git revert来创建一个新的提交,这个提交会撤销之前的更改:
      git revert <commit>
      
    • 这不会改变项目的历史,而是在历史的基础上添加一个新的提交。
  4. 使用 git clean

    • 如果你想要删除未跟踪的文件(即那些没有被Git管理的文件),可以使用:
      git clean -fd
      
    • -f 强制执行,-d 包括目录。
  5. 使用 git stash

    • 如果你想要临时保存工作进度,并且撤销所有未提交的更改,可以使用:
      git stash
      
    • 之后,你可以使用git stash pop来恢复这些更改。
  6. 使用 git refloggit reset

    • 如果你想要撤销到任何历史提交,可以先查看所有的HEAD变动:
      git reflog
      
    • 然后使用git reset回到特定的提交:
      git reset --hard <commit>
      

每种方法都有其适用的场景,选择合适的方法可以有效地帮助你管理Git中的更改。

标签:reset,git,撤消,更改,六种,--,Git,提交,使用
From: https://www.cnblogs.com/suducn/p/18599770

相关文章

  • GitHub Actions 自动部署服务到 Amazon ECS
    概述本文将详细介绍如何使用GitHubActions实现自动化部署服务到AmazonECS(ElasticContainerService)。这个自动化流程包括构建Docker镜像、推送到ECR、创建ECS任务定义、配置负载均衡器以及更新ECS服务等步骤。前提条件AWS账号及相关权限GitHub仓库......
  • git 常用命令
    git常用命令。创建SSHKey$ssh-keygen-trsa-C"youremail@example.com"配置用户信息$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.email"email@example.com"仓库在当前目录新建一个Git代码库$gitinit新建一个目......
  • 【linux系统】基础开发工具(git、gdb/cgdb使用)
    1.版本控制器Git不知道你工作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,比如:“报告-v1”“报告-v2”“报告-v3”“报告-确定版”“报告-最终版”“报告-究极进化版......
  • GitHub 正式收录 MoonBit 作为一门通用编程语言!核心用户突破三万!
    MoonBit 编程语言正式被Github收录!这对于一个仅有两年发展时间的编程语言来说是一种高度认可,期待未来由MoonBit编写的项目数量快速增长,早日成为首个由国人研发迈进10万➕用户的编程语言。最近用户数已经接近3万(数据统计来源综合VisualStudioMarketplac......
  • 如何实现默认显示git的第一帧图片,当鼠标经过时,播放完整的gif动画
    要实现鼠标悬停时播放GIF动画,默认显示GIF的第一帧,你可以使用JavaScript和HTML。以下是一种实现方法:HTML:<divclass="gif-container"><imgsrc="first-frame.jpg"data-gif="animation.gif"alt="Description"></div>first-frame.jp......
  • git怎样忽略已加入版本库的文件?
    在Git中忽略已经加入版本库的文件,你需要先将文件从Git的跟踪列表中移除,然后添加到.gitignore文件中。这里有几种方法可以实现:1.使用gitrm--cached命令:这是最常用的方法。--cached选项会将文件从Git的索引(stagingarea)中移除,但保留在你的工作目录中。这样,Git就......
  • git区分大小写吗?如果不区分,那要如何设置?
    Git区分大小写,但默认情况下,它对文件名大小写的更改不敏感。这意味着如果你在一个不区分大小写的操作系统(如Windows或macOS默认设置)上重命名文件README.md为readme.md,Git默认不会识别这一更改。这会导致一些问题,例如:在区分大小写的操作系统上出现问题:如果你在Linux服务器......
  • git commit之后,如何撤销commit
    gitreset--softHEAD^仅仅是撤回commit操作,您写的代码仍然保留。HEAD^的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2至于这几个参数:--mixed意思是:不删除工作空间改动代码,撤销commit,并且撤销gitadd.操作这个为默认参数,gitreset--......
  • 惊艳!首份“架构师成长笔记”在GitHub狂澜9000星
    其实架构师是需要一个相对而言对架构师友善的环境。第一,架构师到底需要什么?一个架构师要成长,首先他需要信任,第二他需要授权,第三他需要时间,第四他需要资源,少一样都很难开展工作。如果一个公司没有很系统的架构设计,对于架构师来说这是一个创造机会或者创造价值的场景,一开始的选......
  • 冲刺金三银四!GitHub中文社区高热度的Java面试题被我整理好了!
     面对已经过去的金九银十很多小伙伴都受到了很大的挫折!最近收到一个小伙伴金九银十在阿里的面试流程完全被吊打,和我一起看看阿里都问了什么吧!添加图片注释,不超过140字(可选)小编在这里也简单的看了一下牛客网阿里招聘的一些评价,难度指数普遍在四星以上!!!!添加图片注......