如何用git覆盖新的提交?

spa*_*a93 21 git github

所以我正在与一个团队合作开展敏感项目,我们所有的资源都在Github上.我最近推了一个提交,后来意识到我的推动有很多错误.我已经修复了我本地副本上的所有错误,并准备再次推送.但是有什么方法可以推送和覆盖我的上次提交吗?我的理由是,我不希望其他人查看我的初始提交及其所做的更改......

基本上我想用我的新提交覆盖旧提交..所以没有关于旧提交的信息仍然可供其他组成员查看.

任何帮助将不胜感激!谢谢.

注意:只是注意到这个问题被标记为重复.为了澄清,我的问题是覆盖已被推送的提交.我的问题不是改变不正确的提交消息.

ffl*_*ing 32

通常,一旦Github(或公共仓库)出现问题,就无法确保没有其他人有错误的提交.

如果您只是想要更清晰的代码历史记录,那么按照您的要求执行操作的方法要求您在本地和远程项目上覆盖历史记录.

你想要的是要么做一个git commit --amend可修改旧的承诺,如果你还没有创建自己的更改新的提交.

如果您已经创建了一个新的提交,那么您将需要git rebase -i用来压缩旧提交之上的提交.

在本地进行此更改并验证您的提交看起来是您希望的方式之后,您将不得不git push --force在Github远程上覆盖历史记录.

这是一个关于如何在git中重写历史的教程,它解释了这个答案中列出的两种方法.

  • `git push --force`,危险但喜欢它 (2认同)