是否可以从 Git 分支(本地和远程)中删除特定的提交? [复制]
Posted
技术标签:
【中文标题】是否可以从 Git 分支(本地和远程)中删除特定的提交? [复制]【英文标题】:Is it possible to delete a particular Commit from Git Branch(Local and Remote)? [duplicate] 【发布时间】:2015-02-13 06:16:51 【问题描述】:我有一个使用不同用户名的提交。最重要的是,我有一个我想保留的正确用户名的提交。
我只想删除第一个用户名错误的提交。
【问题讨论】:
【参考方案1】:如果您希望保留提交的顺序,则需要使用 filter-branch 或 rebase -i,如“Change the author of a commit in Git”中所述。
但请记住,它会更改与该提交关联的 SHA1(以及在所述修改后的提交之后的任何提交),这意味着您将不得不强制推送,并且任何合作者都必须将他/她自己的本地存储库重置为新获取的内容。
我需要彻底删除历史记录
最好使用git rebase -i
(交互式变基)来完成,您可以在交互式会话期间删除您想要的任何提交。
见“Rebasing commits against a point in time”。
【讨论】:
我需要彻底删除历史记录 @karthikeayan 我已经编辑了解决该特定用例的答案。以上是关于是否可以从 Git 分支(本地和远程)中删除特定的提交? [复制]的主要内容,如果未能解决你的问题,请参考以下文章