我在其中一个提交中犯了一个错误.现在我想完全删除这个提交,所以看起来它从来就不存在.我不想在日志中看到这个.
我已经尝试了这个问题的所有提示(" 如何删除'git commit' "),但我可以在日志中看到提交.我怎么能完全删除它?
- 编辑 -
好的,我没有提供完整的信息.凯文巴拉德是对的.
到现在为止,我没有推动这个提交,它只在我的机器上.该ouah答案工作,命令
git log
Run Code Online (Sandbox Code Playgroud)
不会显示,但命令是什么
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
do是"chekout last commit并将分支更改为this",所以我继续看到使用SmartGit等图形程序进行提交.
- 编辑2--
不,这是一个SmartGit漏洞!!!! 提交真的消失了.我必须关闭日志窗口,然后再打开.提交不再存在.
oua*_*uah 13
如果是最后一次提交
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
如果它不是最后一次提交
git rebase -i commit_hash^
Run Code Online (Sandbox Code Playgroud)
编辑器将打开,用提交删除整行,保存并退出.
请注意,如果分支已被推送,则重写历史记录或重新定位通常是个坏主意,您可能更愿意使用
git revert commit_hash
Run Code Online (Sandbox Code Playgroud)
这将添加一个恢复提交的新提交commit_hash.
这个命令(注意,它会重写历史记录):
git rebase --onto commitHash^ commitHash
Run Code Online (Sandbox Code Playgroud)
(@ouah 的解决方案对我不起作用,而 Lily 的解决方案对我有用,但他的解决方案不应该是评论,而应该是这样的答案。)
| 归档时间: |
|
| 查看次数: |
13561 次 |
| 最近记录: |