首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何删除已经被重置但仍然显示在历史中的git提交?

要删除已经被重置但仍然显示在历史中的git提交,可以使用以下步骤:

  1. 首先,使用git log命令查看提交历史,找到需要删除的提交的哈希值(commit hash)。
  2. 然后,使用git rebase -i <commit hash>命令进行交互式变基。将<commit hash>替换为需要删除的提交的哈希值。
  3. Git会打开一个文本编辑器,列出了从当前分支最近的提交到指定提交之间的所有提交。在编辑器中,将需要删除的提交的行前面的pick改为drop,表示删除该提交。
  4. 保存并关闭编辑器,Git会自动执行变基操作,并删除指定的提交。
  5. 如果删除的提交之后还有其他提交,Git可能会提示合并冲突。在这种情况下,需要手动解决冲突,并使用git rebase --continue命令继续变基操作。
  6. 完成变基后,可以使用git log再次查看提交历史,确认已成功删除指定的提交。

请注意,变基操作会改变提交历史,因此只应在本地仓库中使用。如果已经将提交推送到远程仓库,应谨慎执行变基操作,并与团队成员协商。

关于Git的更多信息和操作,请参考腾讯云产品介绍链接地址:腾讯云代码托管(Git)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

要熟练使用 Git,恐怕要记住这60个命令

今天我们来聊聊常用 Git 命令。虽然每天多多少少都会敲一些 Git 命令,但仍然有很多记不住,可怜这脑袋瓜子了。...774 个 star)上涨心里非常开心,希望越来越多 Java 爱好者能因为这个开源项目而受益,而越来越多人 star,也会激励继续更新下去~ Git 专题开篇,就提醒大家一定要记住这几个专用名词...[tag] # 新建一个tag指定commit $ git tag [tag] [commit] # 删除本地tag $ git tag -d [tag] # 删除远程tag $ git push...$ git status # 显示当前分支版本历史 $ git log # 显示commit历史,以及每次commit发生变更文件 $ git log --stat # 搜索提交历史,根据关键词...显示某个commit之后所有变动,其"提交说明"必须符合搜索条件 $ git log [tag] HEAD --grep feature # 显示某个文件版本历史,包括文件改名 $ git log

64840

Git Cheat 2

其他人再次执行fetch或者pull并不会删除这个他们本地 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?...重命名远程分支 # git重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支 git push --delete origin devel git branch -...查看信息 # 显示有变更文件 git status # 显示当前分支版本历史 git log # 显示commit历史,以及每次commit发生变更文件 git log --stat # 显示某个...git diff master..test # 显示你当前索引和上次提交差异;这些内容不带"-a"参数运行 "git commit"命令时就会被提交。...git diff --cached # 显示你工作目录与上次提交时之间所有差别,这条命令所显示 内容都会在执行"git commit -a"命令时提交

50520
  • Git汇总--版本库操作

    版本库操作 日志–log 显示提交历史! 当不使用任何参数调用,相当于使用了缺省参数HEAD,即显示当前HEAD能够访问到所有历史提交。...注意: 使用重置命令很危险,会彻底丢弃历史。那么还能够通过浏览提交历史办法找到丢弃提交ID,再使用重置命令恢复历史么?不可能!因为重置提交历史也改变了。一个共享仓库这会造成问题。...如果其他人已经有你将要重写提交,你应当避免使用 reset;如果有任何其他提交合并之后创建了,那么这个方法也会无效;移动引用实际上会丢失那些改动。 reflog 显示操作历史!...$ git reset --hard HEAD@{2} git log 与 git reflog 区别: git log 显示提交历史git reflog 显示操作历史(包括已经删除 commit...“分离头指针”状态下提交不能引用关联到而可能会丢失。

    71331

    开发工具Tools·Git 从入门到精通1

    since Git v1.7.0) # 发布标签 $ git push --tags 查看信息 显示工作路径下已修改文件: git status 显示与上次提交版本文件不同: git diff 显示提交历史...# 显示某个文件所有修改 $ git log -p 显示搜索内容: # 从当前目录所有文件查找文本内容 $ git grep "Hello" # 某一版本搜索文本 $ git...Git Flow 详细内容,可以参考这篇文章:Git 团队最佳实践–如何正确使用 Git Flow Git 实际开发最佳实践策略 Git Flow 可以归纳为以下: master 分支...git reset --hard 0254ea7 然后使用 git reset 就可以把 master 改回到之前 commit,这提供了一个历史意外更改情况下安全网。...Git 教程 Git 中文教程 廖雪峰 Git 教程 有关 git 学习资源 文章 Git Cookbook Git 奇技淫巧 Git 风格指南 Git 团队最佳实践–如何正确使用 Git

    1.2K30

    值得你收藏Git命令清单(全),切莫书到用时方恨少

    新建一个分支,指向某个tag 7、查看信息 命令 功能介绍 git status git status命令作用是显示仓库文件状态,红色表示工作目录文件修改但还没有提交到暂存区,绿色表示已经提交到暂存区...,绿色为已经添加进暂存区 R:文件名修改 T:文件类型修改 U:文件没有合并(你需要完成合并才能进行提交) X:未知状态(很可能是遇到gitbug了,你可以向git提交bug report)...git stash list 看已经保存历史记录 git stash pop 重新应用某个已经保存进度,并且删除进度记录 git stash apply 重新应用某个已经保存进度...命令 功能介绍 git grep “陈哈哈” 从当前目录所有文件查找文本内容 git grep “陈哈哈” v2.5 某一版本搜索文本 11、.gitignore忽略配置(提交git时,忽略部分文件...注意:新加.gitignore只能忽略那些原来没有提交文件,如果某些文件已经纳入了版本管理,则修改.gitignore是无效

    40240

    Git 从入门到精通,这篇包教包会!

    : $ git diff 显示提交历史: # 从最新提交开始,显示所有的提交记录(显示hash, 作者信息,提交标题和时间) $ git log # 显示某个用户所有提交 $ git log -...合并: # 将分支合并到当前HEAD $ git merge 重置: # 将当前HEAD版本重置到分支,请勿重置已发布提交 $ git rebase Github...Git Flow 详细内容,可以参考这篇文章:Git 团队最佳实践--如何正确使用 Git Flow https://www.cnblogs.com/cnblogsfans/p/5075073....可是,这会不可逆改变你历史,也会搞乱那些已经从该仓库拉取(pulled)了的人历史。简而言之,如果你不是很确定,千万不要这么做。...$ git reset --hard 0254ea7 然后使用 git reset 就可以把 master 改回到之前 commit,这提供了一个历史意外更改情况下安全网。

    2.6K20

    Git 帮助手册

    可是,这会不可逆改变你历史,也会搞乱那些已经从该仓库拉取 (pulled) 了的人历史。简而言之,如果你不是很确定,千万不要这么做。...后者会使那些与该分支或该分支子分支工作开发者,历史中产生冲突。...status 显示与上次提交版本文件不同: git diff 显示提交历史: # 从最新提交开始,显示所有的提交记录(显示 hash, 作者信息,提交标题和时间) $ git log # 显示某个用户所有提交...$ git log --author="username" # 显示某个文件所有修改 $ git log -p 显示搜索内容: # 从当前目录所有文件查找文本内容 $ git...git reset --hard 0254ea7 然后使用 git reset 就可以把 master 改回到之前 commit,这提供了一个历史意外更改情况下安全网。

    4.3K30

    Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!

    版本库又名仓库,英文名repository,你可以简单理解一个目录,这个目录里面的所有文件都可以Git管理起来,每个文件修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某个时刻还可以将文件...现在已经对readme.txt文件做了三次修改了,那么现在想查看下历史记录,如何查呢?我们现在可以使用命令 git log 演示如下所示: ?...▍bug分支 开发,会经常碰到bug问题,那么有了bug就需要修复,Git,分支是很强大,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时分支删除掉。...由上面可知:推送失败,因为小伙伴最新提交和我试图推送有冲突,解决办法也很简单,上面已经提示我们,先用git pull把最新提交从origin/dev抓下来,然后本地合并,解决冲突,再推送。...git status # 显示当前分支版本历史 $ git log # 显示commit历史,以及每次commit发生变更文件 $ git log --stat # 搜索提交历史,根据关键词

    67420

    给自己点时间再记记这200条Git命令

    $ git init --bare # 下载一个项目和它整个代码历史 # 这个命令就是将一个版本库拷贝到另一个目录,同时也将分支都拷贝到新版本库。...信息 获取某些文件,某些分支,某次提交git 信息 # 显示commit历史,以及每次commit发生变更文件 $ git log --stat # 搜索提交历史,根据关键词 $ git log...git br -v # 查看已经合并到当前分支分支 $ git br --merged # 查看尚未被合并到当前分支分支 $ git br --no-merged 添加 添加文件到当前工作空间中...$ git diff --cached # 显示工作目录和最近一次提交不同 $ git diff HEAD grep 可以版本库快速查找 可选配置: # 感谢Travis Jeffery提供以下用法...comments" # 修改最后一次提交记录 $ git ci --amend rebase (谨慎使用) 将一个分支上所有的提交历史都应用到另一个分支上 _不要在一个已经公开远端分支上使用 rebase

    1.1K20

    45个 GIT 经典操作场景,专治不会合代码

    但找工作面试和一些需彰显个人实力场景,仍然需要我们掌握足够多git命令。 下边我们整理了45个日常用git合代码经典操作场景,基本覆盖了工作需求。 刚才提交了什么?...你就可以用下面的命令显示当前HEAD上最近一次提交(commit): (main)$ git show 或者 $ git log -n1 -p 提交信息(commit message)写错了 如果你提交信息...可是,这会不可逆改变你历史,也会搞乱那些已经从该仓库拉取(pulled)了的人历史。简而言之,如果你不是很确定,千万不要这么做。...no-ff 会为特性分支(feature branch)存在过留下证据, 保持项目历史一致(更多Git资料,参见IDEA 如何完成 Git 版本回退?)。...$ git reset --hard 0254ea7 然后使用git reset就可以把main改回到之前commit,这提供了一个历史意外更改情况下安全网。

    1.1K10

    45 个Git经典操作场景,专治不会合代码

    但找工作面试和一些需彰显个人实力场景,仍然需要我们掌握足够多git命令。 下边我们整理了45个日常用git合代码经典操作场景,基本覆盖了工作需求。 刚才提交了什么?...你就可以用下面的命令显示当前HEAD上最近一次提交(commit): (main)$ git show 或者 $ git log -n1 -p 提交信息(commit message)写错了...可是,这会不可逆改变你历史,也会搞乱那些已经从该仓库拉取(pulled)了的人历史。简而言之,如果你不是很确定,千万不要这么做。...no-ff 会为特性分支(feature branch)存在过留下证据, 保持项目历史一致(更多Git资料,参见IDEA 如何完成 Git 版本回退?)。...$ git reset --hard 0254ea7 然后使用git reset就可以把main改回到之前commit,这提供了一个历史意外更改情况下安全网。

    79920

    史上最干货Git命令整理,一文胜千言

    status git status命令作用是显示仓库文件状态,红色表示工作目录文件修改但还没有提交到暂存区,绿色表示已经提交到暂存区。...显示当前分支最近几次提交 A:本地新增文件(服务器上没有) C:文件一个新拷贝 D:本地删除文件(服务器上还在) M:红色为修改过未被添加进暂存区,绿色为已经添加进暂存区 R:文件名修改...git stash list 看已经保存历史记录 git stash pop 重新应用某个已经保存进度,并且删除进度记录 git stash apply 重新应用某个已经保存进度...命令 功能介绍 git grep "陈哈哈" 从当前目录所有文件查找文本内容 git grep "陈哈哈" v2.5 某一版本搜索文本 11、.gitignore忽略配置(提交git时,忽略部分文件...注意:新加.gitignore只能忽略那些原来没有提交文件,如果某些文件已经纳入了版本管理,则修改.gitignore是无效

    56920

    Git开发教程 二 —— Git切换项目版本】

    查看提交历史 进行版本切换之前,我们需要了解一个指令: git log 该指令能够查看提交历史,执行该指令,结果如下: 前面我们进行了两次提交,通过该指令就都显示出来了,包括提交作者标识,...仔细观察,会发现这两次提交信息展示不太一样: 首先是commit后面的字符串不一样,这是通过一系列hash算法计算出来一个值,作为每次提交索引;其次是第二次提交,有这么一个信息:(HEAD...为了后续测试,这里再进行一次修改,然后提交: 查看提交历史其它指令 使用git log指令虽然可以显示提交历史,但是显示得过于详细有时候也并不方便,当提交次数逐渐增多时,这样显然会加重我们查找某些重要信息负担...需要注意是,只有git reflog能够显示所有版本提交历史,什么意思呢?...如何进行版本切换 经过前面的铺垫,相信大家已经对版本切换实现有了一个大体认识,接下来就是掌握具体指令了。

    1.2K10

    轻松掌握Git开发(三)版本切换

    查看提交历史 进行版本切换之前,我们需要了解一个指令: git log 该指令能够查看提交历史,执行该指令,结果如下: ?...查看提交历史其它指令 使用git log指令虽然可以显示提交历史,但是显示得过于详细有时候也并不方便,当提交次数逐渐增多时,这样显然会加重我们查找某些重要信息负担,所以我们还需要掌握几个关于查看提交历史指令...该方式显示内容将会更加简洁,哈希值只显示部分。 最后一条指令: git reflog 运行结果: ? 这种方式显示提交历史区别在于,它多了一个信息:HEAD@{0}。...需要注意是,只有git reflog能够显示所有版本提交历史,什么意思呢?...如何进行版本切换 经过前面的铺垫,相信大家已经对版本切换实现有了一个大体认识,接下来就是掌握具体指令了。

    38710

    Git 基本操作

    提交新文件(new)和修改(modified)文件,不包括被删除(deleted)文件 git add -u 提交修改(modified)和被删除(deleted)文件,不包括新文件(new) 例如本次删除了一个已被...$ git rm $(git ls-files --deleted): 删除所有跟踪, 但是工作区总被删除文件 移动 | 重命名 mv $ git mv [oldFile] [newFile]...Git 强大功能是即使经历过重命名,也仍然能保留对文件历史记录追踪。 使用 git --follow log 选项会让 Git 日志回溯并找到内容相关联整个历史记录。...文件工作区修改全部撤销, 这里有两种情况: 一种是 readme.txt 自修改后还没有放到暂存区,现在,撤销修改就回到和版本库一模一样状态; 一种是 readme.txt 已经添加到暂存区后...--graph 显示 ASCII 图形表示分支合并历史。 --pretty 使用其他格式显示历史提交信息。

    42520

    Git复习回顾

    git reflog:增加显示如果要回退某个版本需要移动几步 记录太多时,多屏控制方式 空格:向下翻页 b:向上翻页 q:退出 前进后退 git有个HEAD指针概念,来指向当前出去哪一个版本 基于索引值操作...–hard HEAD~3:表示回退3个版本 reset命令三个参数对比 –soft 仅仅在本地库移动HEAD指针 –mixed 本地库移动HEAD指针 重置暂存区 –hard 本地移动...HEAD指针 重置暂存区 重置工作区 删除文件并找回 前提:删除前,文件存在时状态提交到了本地库 操作:git reset –hard [指针位置] 删除操作已经提交到本地库:指针位置指向历史记录 删除操作尚未提交到本地库...:指针位置使用HEAD 比较文件差异 git diff [文件名] 将工作区文件和暂存区进行比较 git diff [本地库历史版本] [文件名] 将工作区文件和本地库历史记录进行比较...(合并,增加新内容)上 git checkout [合并分支名] 第二步:执行merge命令 git merge [有新内容分支名] 解决冲突 冲突表现 冲突解决 第一步:编辑文件,

    24410

    git版本控制

    查看提交历史 git log 如果想要查看git提交历史,可以使用git log命令。本文会介绍一些常用命令选项,比如-、-p、--stat、--pretty等。...使用较短相对时间显示(比如,“2 weeks ago”) --graph 显示 ASCII 图形表示分支合并历史 --pretty 使用其他格式显示历史提交信息。...--since会显示某个时间点之后提交历史,而--until会显示某个时间点之前历史,下面是一个例子: $ git log --since=2.days --pretty=format:'%h %cr...上面的例子checkout后,README.md文件恢复成了修改之前(上次提交时)样子,并且工作目录是干净。...所以上例git reset --hard HEAD^将工作目录和暂存区全部重置到前一次提交,并且将HEAD指向前一次提交,后面的命令结果显示确实是这样。

    89130

    经典45个git使用技巧与场合,专治不会合代码。

    但找工作面试和一些需彰显个人实力场景,仍然需要我们掌握足够多git命令。 下边我们整理了45个日常用git合代码经典操作场景,基本覆盖了工作需求。 刚才提交了什么?...你就可以用下面的命令显示当前HEAD上最近一次提交(commit): (main)$ git show 或者 $ git log -n1 -p 提交信息(commit message...可是,这会不可逆改变你历史,也会搞乱那些已经从该仓库拉取(pulled)了的人历史。简而言之,如果你不是很确定,千万不要这么做。...# or (main) $ git checkout -f 重置某个特殊文件, 你可以用文件名做为参数: $ git reset filename 想丢弃某些未暂存内容 如果你想丢弃工作拷贝一部分内容...$ git reset --hard 0254ea7 然后使用git reset就可以把main改回到之前commit,这提供了一个历史意外更改情况下安全网。

    1.3K20

    常用 Git 命令清单

    每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 ? 下面是整理常用 Git 命令清单。...-b [branch] [tag] 七、查看信息 # 显示有变更文件 $ git status # 显示当前分支版本历史 $ git log # 显示commit历史,以及每次commit发生变更文件...$ git log --stat # 搜索提交历史,根据关键词 $ git log -S [keyword] # 显示某个commit之后所有变动,每个commit占据一行 $ git log...# 显示某个文件版本历史,包括文件改名 $ git log --follow [file] $ git whatchanged [file] # 显示指定文件相关每一次diff $ git log...END,无法返回 $ git config --global core.pager '' 十一、常见问题 error: src refspec matches more than one. git仓库删除所有提交历史记录

    36710

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券