繁体   English   中英

Git删除历史记录提交

[英]Git remove history commit

我有一个超过3年的大型存储库git,我想删除超过一年前的更改历史记录。 这可能吗? 可以使用git rebase但是如何?

Pro Git本书中 ,使用您的确切情况作为示例来调查名为git replace的黑魔法。 基本上,如果您可以在历史记录中找到您想要充当新根的点,则可以将其替换为没有父项的提交,就好像它是凭空创建的一样。 您甚至可以将原始树存储在一台计算机上,以便在需要时轻松恢复历史记录。

请注意, git rebase (以及git replace ,就此而言)的问题是你想要重写整个树,包括分支,所以它们都指向不同的提交。 这也会导致团队中的其他人难以合并他们的更改,因为所有父母都拥有与之前不同的SHA。

删除历史记录可能无法解决您的问题。 在某个时间点,可能会将大型文件提交到存储库并随后将其删除。

我会看一下在scit repo查找超过x兆字节的文件,它们在HEAD中不存在

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM