只保留对某些文件夹的提交,删除其他所有内容

时间:2016-06-28 21:15:03

标签: git github

我和一些同事做了一个项目,其中包括多个子项目。除了一个子项目之外的所有子项目都必须因其内容而被完全删除。这是我们想要公开的最后一个项目。碰巧的是,这个子项目有自己的文件夹。我想要做的是从提交历史记录中删除除了影响此文件夹的提交之外的所有提交,并将存储库公开。我可以创建一个新的存储库,但是我希望保留对该项目的所有提交,以便我们可以像普通项目一样使用它。

是否有一种简单的方法可以只保留那些影响某个文件夹的提交,或另一种简单的方法来选择只保留一些提交而不必逐个遍历所有提交并删除或不删除它们?

1 个答案:

答案 0 :(得分:0)

可以通过以下方式将一些文件夹放入新的根目录:

git filter-branch --subdirectory-filter folder HEAD