我有一个远程仓库,总共有7个提交(我们称它们为A-G,其中G是最近的提交)。提交C和E实际上并不需要进行全新的提交,我想在将提交G保持为HEAD的同时将它们从远程提交历史记录中删除。我该怎么办?
答案 0 :(得分:0)
git documentation对此表示以下看法:
也可以使用rebase删除一系列提交。如果我们有以下情况:
E---F---G---H---I---J topicA
然后输入命令
git rebase --onto topicA~5 topicA~3 topicA
将导致删除提交F和G:
E---H'---I'---J' topicA
如果F和G以某种方式存在缺陷,或者不应该成为topicA的一部分,则这很有用。请注意,-onto的参数和参数可以是任何有效的commit-ish。
但这首先仅适用于本地存储库。因此,在将此修改提交历史记录推送到您的远程时,您需要具有足够的特权。有关更多详细信息,请参见force push。我可以根据自己的经验告诉您,这可能是MS TFS中的问题。