将一组给定的文件提取到存储库中

问题描述 投票:1回答:2

我打算从大约10000次提交和5000个文件的存储库中提取少量文件到单独的存储库中。这些文件分布在几个目录中,并且这些目录中有不相关的文件。

git filter-branch--subdirectory-filter实际上不是一个选项,因为它仅接受单个目录。另外,它不会跟随重命名,因此,如果文件最初是在另一个目录中引入的,则历史记录的一部分也会丢失。

我当前的解决方案是:

git filter-branch --tree-filter 'fd -E 3166 -X rm -rf'

其中fd is a faster findfd是所有提取文件的文件名的唯一部分。它会执行所有提交操作,查找所有不相关的文件并将其删除。这太慢了,但是要花几个小时。

有更好的方法吗?

git git-filter-branch git-filter-repo
2个回答
3
投票

我想您可以测试find(git上游建议使用它代替滤镜分支)。您可以在其中指定多个文件夹...。我想您可以提供所有您关心的目录,既“当前”目录,也可以提供历史记录。

3166


2
投票
© www.soinside.com 2019 - 2024. All rights reserved.