首页 > 其他分享 >撤回最近的 git commit

撤回最近的 git commit

时间:2024-11-26 15:57:36浏览次数:7  
标签:reset git -- 撤回 修改 commit

在 Git 中,如果你想撤回最近的 git commit,可以根据不同的需求选择不同的操作。以下是几种常见的撤回方式:

1. 撤回最后一次 commit,但保留修改(soft reset)

如果你想撤销 git commit,但保留修改的文件(即文件内容不变),可以使用:

git reset --soft HEAD~1
  • HEAD~1 指的是上一个 commit,--soft 会将撤回的 commit 从历史记录中移除,但保留文件的修改,文件将被放回暂存区。

2. 撤回最后一次 commit,且修改不再保留(hard reset)

如果你不仅想撤销 commit,还想丢弃所有的修改(包括暂存区和工作区的修改),可以使用:

git reset --hard HEAD~1
  • --hard 会彻底撤销 commit,并丢弃所有改动,工作区和暂存区的修改都会丢失。

3. 撤销上一次 commit,但保留修改在工作区(mixed reset)

如果你希望撤回 commit,并且修改保留在工作区(未暂存),可以使用:

git reset --mixed HEAD~1
  • --mixed 会撤销 commit,但是会将文件变动移到工作区,不会保留在暂存区。

4. 撤销 commit 后重新编辑(amend)

如果你只是想修改最近一次的 commit 内容,可以使用 git commit --amend。这个命令允许你修改提交内容(包括文件和提交信息)。

例如,修改 commit 信息:

git commit --amend

这将打开默认的编辑器,你可以更改提交信息,然后保存退出。

注意事项

  • git reset 会更改提交历史,如果你已经推送了提交到远程仓库,并且其他人基于这个提交进行了工作,使用 reset 可能会导致问题。推送时,Git 会提示你强制推送 (git push --force)。
  • 如果你的操作影响了公共分支,尽量避免使用 git reset,而是使用 git revert 来撤销提交,因为 revert 会创建一个新的提交来反转之前的更改。

标签:reset,git,--,撤回,修改,commit
From: https://www.cnblogs.com/ixtao/p/18570334

相关文章

  • Git Permission denied
    问题现象家里电脑gitpull项目时,提示:Permissiondenied,ssh-T测试又是正常的,如下图......
  • GitLab的备份与恢复
    一、备份1.docker执行备份dockerexecgitlabgitlab-rakegitlab:backup:create默认将备份文件保存至docker的/var/opt/gitlab/backups/目录这条命令是在Docker容器内部执行GitLab的备份操作。让我来解释一下这个命令的各个部分:dockerexec:这是Docker命令,用于在正在......
  • Git 常用命令
    以下是一些常用的Git命令,涵盖了常见的操作,包括版本控制、分支管理、远程仓库操作等。1.基本命令gitinit:初始化一个新的Git仓库。用于在当前目录创建一个新的Git仓库。gitinitgitclone<仓库地址>:克隆一个远程Git仓库到本地。将远程仓库的内容复制到本地......
  • 极狐GitLab 正式发布最新版本 17.6
    沿袭我们的月度发布传统,极狐GitLab发布了17.6版本,该版本带来了增强的合并请求审核者指派、在部署详情页面显示版本注释、在部署详情页面显示版本注释等几十个重点功能的改进。下面是部分重点功能的详细解读。关于极狐GitLab的安装升级,可以查看官方指导文档。17.6容器镜像......
  • CTFHub信息泄露 git泄露篇
    1、log第一步:      点击进入靶场第二步:使用dirsearch工具进行目录扫描发现许多.git第三步:      使用GitHack工具获取.gitpython2GitHack.pyhttp://challenge-5419b9e8f8d29f01.sandbox.ctfhub.com:10800/.git/保存在了/root/GitHack-master/dist/......
  • IDEA如何快速地切换git分支代码,本地和远程的
    前言大家好,我是小徐啊。我们在使用IDEA时候,一般是要和git结合起来一起使用的。然后,切换git分支又是其中的一件关键的操作,今天,小徐就来介绍下如何在IDEA中切换分支。如何切换git分支首先,点击右下角的我的分支。然后,可以看到本地的和远程的分支,上方的是本地的分支,下方的是远程......
  • 常见的Git 代码提交规范,feat、fix、style都是什么意思?
    在使用Git进行版本控制时,遵循一定的提交信息规范是非常重要的。这不仅可以帮助团队成员更容易地理解每次提交的目的和影响,还能提高代码审查的效率。常见的Git提交信息规范之一是ConventionalCommits规范,它定义了一套标准化的提交信息格式。以下是几个常用的提交前缀及其含......
  • 说说你对Git的branch, diff, merge的理解?
    在前端开发中,Git的branch,diff,和merge是版本控制的核心功能,它们帮助开发者有效地管理代码变更、进行并行开发以及整合不同版本的代码。1.Branch(分支):作用:分支允许开发者从主代码线(通常是main或master分支)创建一个独立的副本,在这个副本上进行开发而不影响主代......
  • 如何在 Visual Studio Code 中更改当前的 Git 代码仓库
    Git如何在VisualStudioCode中更改当前的Git代码仓库在本文中,我们将介绍如何在VisualStudioCode中更改当前的 Git 代码仓库。Git 是一款版本控制工具,可以帮助我们管理代码的变更历史记录,而VisualStudioCode是一款开源的跨平台代码编辑器,内置了Git相关功能,......
  • git base 下载$ git clone 失败解决方法
    $gitclonehttps://github.com/hjsdjko/hangkongdingpiao.gitCloninginto'hangkongdingpiao'...fatal:unabletoaccess'https://github.com/hjsdjko/hangkongdingpiao.git/':SSLcertificateproblem:unabletogetlocalissuercertificate......