是否可以从 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 分支(本地和远程)中删除特定的提交? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

git 同步远程已删除的分支和删除本地多余的分支

git同步远程已删除的分支和删除本地多余的分支

Git 中删除本地分支和删除远程分支是两回事儿

Git 中删除本地分支和删除远程分支是两回事儿

git 删除本地分支和远程分支

git创建本地分支,推送到远程