git撤销某一次commit提交
一、使用git rebase命令
如果您想彻底删除 Git 中的某次提交的内容,可以使用 git rebase 命令并将该提交删除。
以下是删除 Git 提交内容的步骤:
找到要删除的提交的哈希值。可以使用
git log命令查看提交历史记录,然后找到要删除的提交的哈希值。在终端中使用
git rebase -i命令并指定要删除的提交的哈希值。例如,要删除哈希值为abc123的提交,您可以运行以下命令:
git rebase -i abc123~1
git rebase -i HEAD~1
在这里,abc123~1 表示要删除的提交的前一个提交。
- 然后 Git 会打开一个交互式编辑器,并显示一个类似于下面的文本:
pick abc123 commit message
pick def456 another commit message
pick ghi789 yet another commit message
- 将要删除的提交所在的行的单词
pick替换为单词drop。例如,如果要删除abc123,则应将第一行更改为:
drop abc123 commit message
保存更改并关闭编辑器。
然后 Git 会自动重播您的提交,并在重播时跳过要删除的提交。如果需要,您可能需要解决任何冲突,并提交最终更改。
注意,使用 git rebase 命令来删除提交可以永久删除提交并更改 Git 历史记录。如果您不确定如何使用 git rebase 命令,建议在使用前备份您的 Git 存储库。
二、使用git revert命令
使用 git revert 命令可以撤销指定提交的更改,并创建一个新的提交来保留已撤销的更改的历史记录。
以下是使用 git revert 撤销提交的步骤:
找到要撤销的提交的哈希值。可以使用
git log命令查看提交历史记录,然后找到要撤销的提交的哈希值。在终端中使用
git revert命令并指定要撤销的提交的哈希值。例如,要撤销哈希值为abc123的提交,您可以运行以下命令:
git revert abc123
然后 Git 会打开一个编辑器,让您输入此次撤销提交的注释。如果您希望使用默认注释,请直接关闭编辑器。
最后,Git 将创建一个新的提交,用于撤销您要撤销的提交所做的更改。这个新的提交将保留已撤销的更改的历史记录。您可以使用
git log命令检查您的提交历史记录以确认撤销操作已成功完成。
需要注意的是,使用 git revert 命令撤销提交会创建一个新的提交,这意味着您的 Git 历史记录将包含一个新的提交来保留已撤销的更改的历史记录。这与使用 git reset 命令删除提交不同,后者会直接删除提交及其历史记录。
三、使用git reset命令
使用 git reset 命令可以将当前分支的 HEAD 指针移到任意提交,从而使您能够删除 Git 存储库中的提交。
以下是使用 git reset 删除提交的步骤:
找到要删除的提交的哈希值。可以使用
git log命令查看提交历史记录,然后找到要删除的提交的哈希值。使用以下命令来删除该提交:
git reset --hard <commit-hash>
其中 <commit-hash> 是您要删除的提交的哈希值。
- 运行此命令后,Git 将删除所有在该提交之后进行的更改,并将您的当前分支 HEAD 指针移动到要删除的提交上。
需要注意的是,使用 git reset 命令删除提交会更改 Git 存储库的历史记录,这意味着您的提交历史记录将会被修改。因此,您应该谨慎使用此命令,并确保您已经了解了删除提交的后果。
另外,请注意,使用 git reset --hard 命令删除提交时,将会删除该提交及其之后的所有更改。如果您只想删除该提交本身而不影响其他更改,请使用 git reset --soft 命令。这将将 HEAD 指针移到要删除的提交上,但不会更改 Git 存储库中的文件或文件夹。这样,您就可以重新提交您想要保留的更改
4.如果您已经将更改推送到 Git 存储库的远程分支,并且想要删除提交,可以使用 git push --force 命令将更改强制推送到远程分支。但是,请注意,强制推送会更改远程分支的历史记录,并且可能会影响其他人正在使用的分支。因此,在进行强制推送之前,应该确保其他人知道并同意这样做。
使用以下命令将更改强制推送到远程分支:
git push --force <remote-name> <branch-name>
其中 <remote-name> 是远程仓库的名称,<branch-name> 是要推送更改的分支名称。此命令将强制将更改推送到远程分支,并覆盖远程分支的历史记录。如果其他人正在使用该分支,则可能需要通知他们进行相应的更改。
请注意,强制推送更改可能会对其他人造成影响,因此应该谨慎使用。如果您想要删除提交,但不想对其他人造成影响,则可以使用 git revert 命令来撤消该提交所做的更改,而不会修改 Git 存储库的历史记录。
git撤销某一次commit提交的更多相关文章
- Git: A分支上的commit提交到B分支上
1. 执行git log -3 --graph A,查看A分支下的commit: 注:commit 后面的hash值代表某个commit,这里把”82f1fb7138c5860cc775b4b5ea7 ...
- git 删除、合并多次commit提交记录
合并多次记录 1. git log找到要合并的记录的数量. 2. git rebase -i HEAD~5 将最上面一个的记录选为pack,下面记录都改为s. ================= 删除 ...
- git撤销中间的某次提交
这几天在开发一个新功能,应为着急上线,所以就把代码提交上去了,当现在有时间又要再改改,又要把我那次提交全部删掉,想重新再写,但是代码已经合了,而且还有其他同事的代码,我的提交在中间的某个部分,所以我想 ...
- git 撤销上一次 commit
1.本地 commit,没有推到远程仓库 可以 git reset --soft <commit_id>,commit_id 是要回退到的某一版本 然后再进行修改,再commit, 如果需 ...
- Git 撤销中间某次的提交记录
今天遇到一个问题,一周前一位同事把非发布代码合并到发布分支上并已发布线上,在这个提交点后已经有了很多次的提交记录,所以不能直接回滚,使用到了gIt提供的revert.以此记录. git revert ...
- Git 撤销所有未提交(Commit)的内容
撸了好多代码,但是突然设计改了(~~o(>_<)o ~~):或者引入个第三方库,后来又发现用不着,想删掉,但文件太多了(比如几百个):那,怎么办呢,都不想了...Git 比人聪明,所以能很 ...
- Git撤销对远程仓库的push&commit提交
撤销push 1. 执行 git log查看日志,获取需要回退的版本号 2. 执行 git reset –soft <版本号> ,如 git reset -soft 4f5e9a90ed ...
- Git 实用操作:撤销 Commit 提交
有的时候,改完代码提交 commit 后发现写得实在太烂了,连自己的都看不下去,与其修改它还不如丢弃重写.怎么操作呢? 使用 reset 撤销 如果是最近提交的 commit 要丢弃重写可以用 res ...
- git 撤销提交的文件
一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...
- 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)
今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...
随机推荐
- 使用git&GitHub通过两台电脑协同作业,助力办公室摸鱼
前情提要:工作有时候负荷比较小,会接一些咸鱼上的活儿或者自己学点软件技能,这时候会出现一个情况,公司笔记本一般不带回家,家里台式机,白天在公司摸鱼编辑的文件,晚上回家想接着干怎么办呢,或是晚上在家干的 ...
- The Little Book of Rust Books
https://lborb.github.io/book/title-page.html https://blog.logrocket.com/unsafe-rust-how-and-when-not ...
- 【技术指北】通过SMB协议在iOS和Windows之间传输文件
windows操作 新建文件夹 设置文件夹的属性,选择共享 设置高级共享,权限选择完全控制 选择共享,选择Everyone cmd - ipcofig,获取ipv4地址 iOS操作 打开文件管理器 选 ...
- 让 rtb 不显示 横纵 滚动条的方法
让 rtb 不显示 横纵 滚动条的方法: a.设置属性: tb.ScrollBars=None; b.设置属性:rtb.WordWarp=False; c. 添加事件代码: rtb.ContentsR ...
- jxg项目Day2-git
申请了我自己的gitee账号,建了我的仓库,在idea中点这个,然后就算漫长的自动下载的过程.. 对分支和冲突的理解:每个人都有自己的develop分支,可以commit到本地的分支,可以push到远 ...
- Hadoop服务启动失败
Hadoop服务启动失败今天启动Hadoop时,终端报了一个新的错误 ```bashStarting namenodes on [192.168.19.128]192.168.19.128: ssh: ...
- 1.3Dmax界面_试图操作
一.初始界面 1.菜单栏(软件的核心) 2.工具栏 3.石墨工具 4.命令板块 5.场景大纲 tools--> new Scene Explorer 创建的物体信息就会从出现在这里 6.视图窗口 ...
- Unity打包ARCore项目失败,但是其他安卓项目成功
https://blog.csdn.net/lxbhahaha/article/details/111269980
- mongodb定时备份
1. https://www.jianshu.com/p/a9352e28e2d6 (未测试) 通过centos 脚步来执行备份操作,使用crontab实现定时功能,并删除指定天数前的备份 具体操 ...
- Postgresql 或GreenPlum 查询结果部分字段转json格式并保留字段名(row_to_json)
-- 一些搜索结果给出 部分字段转json保留原字段的方式是用子查询select row_to_json(t) from ( select id, text from words ) t 但是如果子查 ...