Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除git旧提交并仅保留最新提交?_Git - Fatal编程技术网

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

如何删除git旧提交并仅保留最新提交?,git,Git,我需要删除所有旧的提交,而只推最近的提交。因此,我试图删除较旧的提交,即g7688bc3。。。并将0455a4f67此最新提交仅保留在我的分支上。我尝试过硬重置,但仍然存在一个旧的提交,并且rebase编辑器没有显示任何要删除的提交。有什么建议吗 commit 0455a4f6741942ea3a4526957dbb62c4cc144458f2 Author: adminuser <admin@email.com> Date: Thu Apr 1 11:55:39 2021 +0

我需要删除所有旧的提交,而只推最近的提交。因此,我试图删除较旧的提交,即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
提交0455a4f6741942ea3a4526957dbb62c4cc144458f2
作者:adminuser
日期:4月1日星期四11:55:39 2021+0830
创建测试分支
提交g7688bc3dhhd1a3642fg76b885b1ac87dc98658b27
作者:root用户
日期:星期一11月15日14:01:22 2020+0830
创建主分支

最简单的方法是创建一个孤立分支,这样它就没有历史记录了。。。您的提交将是第一个:

git checkout --orphan new-branch
git commit -m "first commit on new branch"
然后你可以把老树枝放在这里:

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

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

是否确实要删除较旧的提交,从而撤消它们?或者将所有提交合并到一个提交中,从而将它们组合起来?嗨,matt,我真的想放弃旧的提交。这是要求。我不想合并所有的提交。感谢you@bsd您是如何使用
rebase
?提交在历史记录中的位置?我也尝试重新设置选项的基础。我也在尝试不同的选择。他们中没有一个是为了“git rebase interactive”而从本地分支谷歌删除旧提交的,您将发现如何使用
git rebase-i