git amend记录

前提:在工作中常使用git amend commit用于追加一些小的变动, 然后再push到远程。但是有时候尴尬的发现,上次提交的已经被领导合入,无法再使用amend进行commit了,需要新commit一次。

但是本地已经修改了上次的commit!!!又不能用强制推送​git push --force-with-lease。

适用于:使用git ament commit ,但是未推送到远程分支的情况, 以下是一个优雅的解决办法:

步骤 -- 本地操作:
(1)首先,执行git reflog,查看git记录,找到amend前那次提交的hash值。
(2)然后,执行git reset xxxxx,xxxx对应要恢复到状态的hash值。 这个时候就恢复到了上次commit的状态。
(3)这个时候,就可以创建一个新的commit,进行push。 优雅解决啦~

如果大家有什么更好的方法也可以评论区交流哦。

参考链接:Git 如何撤销对 "git commit --amend" 的误用

相关推荐
happyness4416 小时前
Git:AI编程时代的“安全带“与“时光机“
git·ai编程
To_OC16 小时前
踩坑无数!终于捋顺Git基础核心工作流(新手必看)
git·程序员
xuhaoyu_cpp_java21 小时前
Git学习(三)
经验分享·笔记·git·学习
C137的本贾尼1 天前
Git基本操作(二):add与commit,把文件交给Git管理
git
咸鱼永不翻身1 天前
Git Hooks—提交Commit前检查本地时间是否不对
git·git-hooks·git钩子
John_ToDebug1 天前
如何针对指定目录生成 Git Patch 并精准应用到其他分支
chrome·git
Joy T1 天前
【Web3】Hardhat工程架构中Solidity与TypeChain的协作机制
git·架构·typescript·web3·智能合约·hardhat·typechain
步十人1 天前
【Git】基础概念与在vscode中的简单使用
git
代码中介商1 天前
Git 版本控制完全指南:从分支管理到远程协作
linux·git
无风听海1 天前
git fsck 深度解析 Git 仓库的体检医生
git