我不小心推送了一个修改git子树的提交。现在该怎么办?

我不小心推送了一个修改git子树的提交。现在该怎么办?,git,git-subtree,Git,Git Subtree,我推送了一个修改git子树的提交(不是通过从最初拉取子树的存储库中拉取)。什么是将子树恢复为以前的样子的干净方法?以下方法 添加一个新的提交,手动恢复对文件所做的更改。这是最安全的选择 恢复提交 git revert ddlpop(用提交id替换ddlpop)。这将简单地添加一个新的提交,恢复指定提交中的更改。这可以用于任何提交,而不仅仅是最后一次提交。它可能会带来一些意想不到的变化,因此在推送之前请仔细检查 头部的显式重写。这应该很少使用。这将简单地重置遥控器的头部 git重置——硬头~1 g

我推送了一个修改git子树的提交(不是通过从最初拉取子树的存储库中拉取)。什么是将子树恢复为以前的样子的干净方法?

以下方法

  • 添加一个新的提交,手动恢复对文件所做的更改。这是最安全的选择
  • 恢复提交
    git revert ddlpop
    (用提交id替换ddlpop)。这将简单地添加一个新的提交,恢复指定提交中的更改。这可以用于任何提交,而不仅仅是最后一次提交。它可能会带来一些意想不到的变化,因此在推送之前请仔细检查
  • 头部的显式重写。这应该很少使用。这将简单地重置遥控器的头部

    git重置——硬头~1

    git推送-f

  • 这是一篇优秀的文章