什么可以导致git提交消失?

时间:2016-02-22 21:54:56

标签: git rebase sha

使用git,我知道rebasing将重新创建正在重新生成的提交,从而为每个提交创建全新的sha值。

重新定位是破坏现有sha值的唯一方法吗?

1 个答案:

答案 0 :(得分:3)

有许多方法可以做到这一点,这里也没有描述。

  • <强> checkout / revert /reflog / reset
    请在此处阅读:How to move HEAD back to a previous location? (Detached head)

  • <强> git filter-branch
    此命令会更改您的历史记录,并允许您删除提交。

  • <强> git rebase / git rebase -i HEAD~x
    在这里,您可以将几个提交压缩为新提交

  • BFG Repo-Cleaner 删除像git-filter-branch那样的大型或麻烦的blob,但速度更快。

BFG Repo-Cleaner