从Git中的分支删除提交

从Git中的分支删除提交

我想知道如何删除提交。

通过delete,我的意思是,就好像我没有提交一样,当我在将来做一个推送时,我的更改不会推到远程分支。

我读了git帮助,我认为我应该使用的命令是git reset --hard HEAD..这是对的吗?


慕尼黑的夜晚无繁华
浏览 1339回答 3
3回答

慕田峪9158850

小心:&nbsp;git reset --hard&nbsp;将删除您的工作目录更改。..一定要保存想要保存的任何本地更改。在运行此命令之前。假设你坐在那次提交上,那么这个命令就会破解它.git&nbsp;reset&nbsp;--hard&nbsp;HEAD~1这个HEAD~1意思是在头前提交。或者,您可以查看git log,找到要备份的提交id,然后执行以下操作:git&nbsp;reset&nbsp;--hard&nbsp;<sha1-commit-id>如果你已经推了它,你就需要用力推动才能摆脱它.git&nbsp;push&nbsp;origin&nbsp;HEAD&nbsp;--force不过如果其他人可能已经成功了,那么你最好开始一个新的分支机构。因为当他们拉的时候,它只会把它合并到他们的工作中,然后你会把它再推回去。如果你已经推动了,它可能会更好地使用git revert,以创建“镜像”提交,该提交将撤消更改。但是,这两个提交都将在日志中。FYI-git reset --hard HEAD如果你想摆脱进展中的工作,那就太好了。它将重置您回到最近的提交,并删除您的工作树和索引中的所有更改。最后,如果需要找到“删除”的提交,则通常会出现在git reflog除非你已经收集了你的存储库。

达令说

另一种可能是我个人最喜欢的命令之一:git&nbsp;rebase&nbsp;-i&nbsp;<commit>~1这将在交互模式下启动重基。-i在提交之前的那一刻,你想要打击。编辑器将启动列出从那时起的所有提交。删除包含要删除的提交的行,并保存文件。rebase将完成其余的工作,只删除该提交,并将所有其他的重放回日志中。
打开App,查看更多内容
随时随地看视频慕课网APP