Git:除了特定目录以外,删除所有内容(BFG Repo Cleaner)

4

我正在尝试永久删除Git仓库中除一个名为keep-me的目录以外的所有目录。

对于这种任务,BFG repo cleaner是我通常使用的工具。然而,它似乎不支持此操作(实际上,我认为它不支持扩展通配符)。我真正想要完成以下操作,但它并不会去掉其他目录:

java -jar ~/bfg-1.12.12.jar --delete-folders {!(keep-me)} my-repo.git

谢谢!


你需要跟踪这些目录的更改吗?如果不需要,你可以将它们添加到你的.gitignore文件中。 - Dario
不,那绝对不是一个合适的解决方案。 - SuperUser
1个回答

5
您可以采用另一种方式:
git subtree split --prefix keep-me --branch cleaned-branch

这将在分支cleaned-branch中创建一个新的项目历史记录,其中仅包含keep-me

1
谢谢,Lars,这个方法很有效。这里有一篇关于如何拆分两个仓库的好博客文章(我本应该从一开始就遵循它):https://makingsoftware.wordpress.com/2013/02/16/using-git-subtrees-for-repository-separation/ - SuperUser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接