为了账号安全,请及时绑定邮箱和手机立即绑定

从Git中的分支删除提交

从Git中的分支删除提交

Git
慕尼黑的夜晚无繁华 2019-06-04 17:08:21
从Git中的分支删除提交我想知道如何删除提交。通过delete,我的意思是,就好像我没有提交一样,当我在将来做一个推送时,我的更改不会推到远程分支。我读了git帮助,我认为我应该使用的命令是git reset --hard HEAD..这是对的吗?
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

小心: git reset --hard 将删除您的工作目录更改。..一定要保存想要保存的任何本地更改。在运行此命令之前。

假设你坐在那次提交上,那么这个命令就会破解它.

git reset --hard HEAD~1

这个HEAD~1意思是在头前提交。

或者,您可以查看git log,找到要备份的提交id,然后执行以下操作:

git reset --hard <sha1-commit-id>

如果你已经推了它,你就需要用力推动才能摆脱它.

git push origin HEAD --force

不过如果其他人可能已经成功了,那么你最好开始一个新的分支机构。因为当他们拉的时候,它只会把它合并到他们的工作中,然后你会把它再推回去。

如果你已经推动了,它可能会更好地使用git revert,以创建“镜像”提交,该提交将撤消更改。但是,这两个提交都将在日志中。


FYI-git reset --hard HEAD如果你想摆脱进展中的工作,那就太好了。它将重置您回到最近的提交,并删除您的工作树和索引中的所有更改。


最后,如果需要找到“删除”的提交,则通常会出现在git reflog除非你已经收集了你的存储库。


查看完整回答
反对 回复 2019-06-04
?
达令说

TA贡献1821条经验 获得超6个赞

另一种可能是我个人最喜欢的命令之一:

git rebase -i <commit>~1

这将在交互模式下启动重基。-i在提交之前的那一刻,你想要打击。编辑器将启动列出从那时起的所有提交。删除包含要删除的提交的行,并保存文件。rebase将完成其余的工作,只删除该提交,并将所有其他的重放回日志中。


查看完整回答
反对 回复 2019-06-04
  • 3 回答
  • 0 关注
  • 1338 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信