删除Git中主分支的提交

删除Git中主分支的提交,git,Git,在进行一些代码更新之前,我忘记了进行分支,现在我必须恢复到初始提交并删除初始提交之后的所有提交。这项工作已被保存在某个地方,所以我没有失去它的风险 我已经使用“git reset--hard{SHA}”重置回我需要的位置,但是现在我有了在初始提交之后执行的所有提交,等待返回并与主副本同步 我想删除从2015年10月6日到2015年2月7日的所有提交,因为它们不再需要。有人知道怎么做吗 如果没有其他人使用此回购,请执行git push-f,服务器的内容将被您的内容覆盖 如果其他人正在使用此存储库(

在进行一些代码更新之前,我忘记了进行分支,现在我必须恢复到初始提交并删除初始提交之后的所有提交。这项工作已被保存在某个地方,所以我没有失去它的风险

我已经使用“git reset--hard{SHA}”重置回我需要的位置,但是现在我有了在初始提交之后执行的所有提交,等待返回并与主副本同步

我想删除从2015年10月6日到2015年2月7日的所有提交,因为它们不再需要。有人知道怎么做吗


如果没有其他人使用此回购,请执行
git push-f
,服务器的内容将被您的内容覆盖


如果其他人正在使用此存储库(并且在您做出要删除的提交后已进行了拉取),则在拉取之后,他们也需要在其端执行硬重置(
git reset--hard origin/master
,假设您在branch
master
)。在这种情况下,我建议使用
git revert
简单地撤消提交的效果,而不是试图从历史记录中删除它们。

从任何分支删除远程提交[主节点是一个分支]

如果您向远程服务器提交了由于任何原因不应在特定分支上提交的内容,则可以使用以下步骤将其删除

如果分支有要保留的更改-从步骤1开始

如果您不关心更改,只想恢复到特定的提交-从步骤3开始

  • 执行硬重设并将磁头重设为要提交的值 使用以下命令创建分支:git reset--hard{SHA}

    • {SHA}是提交ID
  • 创建分支并将其发布到服务器(可能会丢失 (如果跳过此步骤,请继续)

  • 对要保留为头的提交执行硬重置-git reset--hard{SHA}

    • 这将导致在提交之后执行的所有提交 您重置为,将作为传入同步挂起-不同步
  • 要取消传入提交,请使用命令执行强制推送 :git推送-f


  • 您是否正在尝试从某个远程主机删除提交?请发布一个到映像的链接。
    git push-f
    是您试图覆盖链接到的远程主机所需的<代码>git prune是您想要的,如果您只想清理任何剩余的/引用的提交和对象。谢谢,强制推送是拼图的最后一块