从远程 Git 存储库中完全删除提交

Posted

技术标签:

【中文标题】从远程 Git 存储库中完全删除提交【英文标题】:Completely remove a commit from remote Git repository 【发布时间】:2015-11-05 09:50:33 【问题描述】:

假设分支的提交历史如下:

John Doe [0003] Third Commit
Jane Roe [0002] Second Commit
Jane Roe [0001] First commit

我想做的是完全删除第三次提交 [0003] 并将其替换为新的第四次提交(因此第四次变为第三次)。

我使用git reset --hard 0002 来设置 HEAD。我也做了一些改变,我现在想要的是新的第二次提交(或第四次提交)成为旧的第三次提交 [0003]。

John Doe [0003] 第四次提交(有更改的第二次提交)

John Doe [0003] 第三次提交

Jane Roe [0002] 第二次提交

Jane Roe [0001] 第一次提交

【问题讨论】:

【参考方案1】:

git push -f 是我要找的。​​p>

参考:Can not push changes after using git reset --hard

【讨论】:

以上是关于从远程 Git 存储库中完全删除提交的主要内容,如果未能解决你的问题,请参考以下文章

如何从远程存储库中取消提交所有文件

从 Heroku Git 存储库中删除密钥

sh 从git存储库中删除所有标记(本地和远程)

如何从 Git 存储库中删除文件?

如何从 Git 存储库中删除文件?

如何仅删除远程存储库中的文件? [复制]