我有一个项目的私人git仓库。
在那里,存在一些我希望作为单独的库提供的文件,因为它们不是特定于应用程序并且可以重复使用。
有没有办法分叉一个git repo,以便它只包含这几个文件,保留版本历史但忽略所有其他文件?
其他文件需要保密,所以我不能简单地拆分整个仓库并将其删除以备将来提交。
答案 0 :(得分:0)
在那里,存在一些我希望作为单独的库提供的文件
你应该是子模块。
子模块是另一个项目中的独立项目,它在自己的文件夹中自我管理。
在您的情况下,因为您已经将代码放在一个大的存储库中,所以您必须将其分解为小块。
所以我不能简单地将整个仓库分叉并将其移除以备将来提交。
为此,请使用此工具bfc
在您的情况下,只需将您要更改的subfolders
清除为submodules
,然后将其从历史记录中完全删除。
按照上述步骤将对您的分支机构执行rebase,因此您必须知道rebase的后果,这将导致每个使用此分支的人员删除它并在您的更改后再次克隆它。