如何删除git旧提交并仅保留最新提交?

时间:2021-04-01 05:38:27

标签: git

我要求删除所有较旧的提交并仅推送最近的提交。所以我试图删除较旧的提交,即 g7688bc3 ... 并仅在我的分支上保留 0455a4f67 这个最新提交。我尝试过硬重置,但仍然存在较旧的提交,并且 rebase 编辑器显示没有任何提交被删除。有什么建议吗?。

commit 0455a4f6741942ea3a4526957dbb62c4cc144458f2
Author: adminuser <admin@email.com>
Date:   Thu Apr 1 11:55:39 2021 +0830

    Create test branch

commit g7688bc3dhhd1a3642fg76b885b1ac87dc98658b27
Author: rootuser <admin@email.com>
Date:   Mon Nov 15 14:01:22 2020 +0830

    Create main branch

1 个答案:

答案 0 :(得分:1)

绕过它的最简单方法是创建一个孤儿分支,然后它将没有历史记录......并且您的提交将是第一个:

git checkout --orphan new-branch
git commit -m "first commit on new branch"

然后你可以把旧的分支放在这里:

git branch -f old-branch
git checkout old-branch

但是您正在丢失所有以前的历史记录,因此请谨慎使用。