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" 的误用

相关推荐
guwentian3 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
不吃鱼的羊6 小时前
Git识别未修改的文件有修改
git
蓝黑墨水9 小时前
一个git问题的处理
git
互联网中的一颗神经元12 小时前
21 — 额外命令:同时开两个窗口、自动检查哨
git
_道隐_14 小时前
git stash save 和 git stash push有什么区别?
git
_道隐_17 小时前
git stash如何pop指定的stash change?
git
PC2005-cloud19 小时前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
Python私教1 天前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
互联网中的一颗神经元1 天前
16 — 改写历史 rebase:搬家到新楼层,不是合并
git
互联网中的一颗神经元2 天前
19 — 贮藏与清理:stash 是抽屉,gc 是打包箱
git