git 删除最后一次commit

您所在的位置:网站首页 git撤销本地的commit git 删除最后一次commit

git 删除最后一次commit

2023-12-25 09:36| 来源: 网络整理| 查看: 265

提交代码代码后, 需求发送了变更,刚刚提交没多久的commit,实现已经是不正常的,想删除这最后一次提交,应该如果处理呢?

先说结论

撤销远程的commit, 可以分为两个部分 1,第一个部分和前面的操作一样,使用git reset --hard 目标commit 回滚到指定的。 2,使用 git push origin -f branch 强制覆盖远程仓库。(-f 有风险,请谨慎使用,master 上不到万不得已千万别用)

操作实践 先查看当前的提交状态 (本地有两次提交,没有push到远程仓库中) $ git log -4 commit 44aa1321cc3875d5eb9a41e565ec62114c2dd293 (HEAD -> branch_test) Author: 大龙 Date: Tue Oct 22 14:37:28 2019 +0800 提交测试4 commit c87c2cf74ca66116a32bf9f641fa3b8ad40736a5 Author: 大龙 Date: Tue Oct 22 14:37:11 2019 +0800 提交测试3 commit dfa01a2d554913ea0e703c19c30cd01ab18fca5d (origin/branch_test) Author: 大龙 Date: Tue Oct 22 13:24:57 2019 +0800 提交测试2 commit 5aa83e58721548f477af3bb23cb547494559dca4 Author: 大龙 Date: Tue Oct 22 13:14:23 2019 +0800 提交测试1 撤销本地最后一次commit (也可以撤销最后的多个提交) git reset --hard c87c2cf74ca66116a32bf9f641fa3b8ad40736a5(`目标的SHA1 值`) 或 git reset --hard HEAD^ (`HEAD后面有几个^,就是撤销到往前第几次`)

tips: c87c2cf74ca66116a32bf9f641fa3b8ad40736a5

执行后,再查看一些当前的提交状态 $ git log -3 commit c87c2cf74ca66116a32bf9f641fa3b8ad40736a5 Author: 大龙 Date: Tue Oct 22 14:37:11 2019 +0800 提交测试3 commit dfa01a2d554913ea0e703c19c30cd01ab18fca5d (origin/branch_test) Author: 大龙 Date: Tue Oct 22 13:24:57 2019 +0800 提交测试2 commit 5aa83e58721548f477af3bb23cb547494559dca4 Author: 大龙 Date: Tue Oct 22 13:14:23 2019 +0800 提交测试1

可以看到log中最后一个commit已经被撤销了。

4.现在把本地的push提交到远程仓库,然后撤销远程的commit

$ git push origin branch_test $ git log -3 commit c87c2cf74ca66116a32bf9f641fa3b8ad40736a5 (HEAD -> branch_test, origin/branch_test) Author: 大龙 Date: Tue Oct 22 14:37:11 2019 +0800 提交测试3 commit dfa01a2d554913ea0e703c19c30cd01ab18fca5d Author: 大龙 Date: Tue Oct 22 13:24:57 2019 +0800 提交测试2 commit 5aa83e58721548f477af3bb23cb547494559dca4 Author: 大龙 Date: Tue Oct 22 13:14:23 2019 +0800 提交测试1 撤销远程的最后一次提交 $git reset --hard HEAD^ HEAD is now at dfa01a2 提交测试2 $ git push -f origin branch_test Total 0 (delta 0), reused 0 (delta 0) + c87c2cf...dfa01a2 branch_test -> branch_test (forced update) $git log -2 commit dfa01a2d554913ea0e703c19c30cd01ab18fca5d (HEAD -> branch_test, origin/branch_test) Author: 大龙 Date: Tue Oct 22 13:24:57 2019 +0800 提交测试2 commit 5aa83e58721548f477af3bb23cb547494559dca4 Author: 大龙 Date: Tue Oct 22 13:14:23 2019 +0800 提交测试1 $

可以看到最后一次的commit(提交测试3) 已经不见了。

END!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3