有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法:
1、修改错误内容,再次commit一次
2、使用git reset 命令撤销这一次错误的commit
第一种方法比较直接,但会多次一次commit记录。
而我个人更倾向第二种方法,错误的commit没必要保留下来。
复现多个commit场景
分别提交了四次记录


远程能看到有四次提交记录

开始合并提交记录了
我把 3333 44444的提交记录撤销
第一步:git reset --soft HEAD~2
- 可以看到 本地的提交记录已经没有 3333 44444,
- 但是工作区还有33333 44444这两次提交的内容,
- 并将33333 44444提交的内容都放到了暂存区


总结: git reset --hard HEAD 使用这个命令
代码回退到暂存区(等待commit) 工作区的代码不变
第二步:git commit --amend
然后按 esc键
并输入 :q
第三步:git push --force

可以看到:3333,4444两次提交记录的内容还在
但是这两个提交记录已经没有了

远程仓库上已更新

补充
同理可以 不用 amend
可以使用 git commit -m "合并了333和444" 再git push --force
那提交记录会变成三条:
“合并了333和444”
“2222”
“1111
试一下:



网友评论