克隆Git分支到新存储库

时间:2018-06-27 14:57:53

标签: git

对于我的项目的新版本,我具有新的结构(新的存储库和它自己的分支),并且我需要克隆上一个版本的某些部分,以便为新程序员保留旧提交的历史记录。 假设我的旧存储库包括带有所有插件的整个项目,并且在此版本中,我们仅关注插件,并且我们不希望克隆整个项目,但是我们使用的那些插件必须具有git历史记录以检查旧提交。 怎么可能?

1 个答案:

答案 0 :(得分:0)

您可以克隆整个存储库,然后使用git filter-branch删除不需要的部分。

这是从存储库历史记录中删除单个文件的方法:

git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch filename' HEAD

其中filename是您要删除的文件的路径。

或者,如果要保留的零件位于单个目录中,则可以

git filter-branch --subdirectory-filter foodir -- --all

这会重写历史记录,就好像foodir/是其项目根目录一样,并丢弃所有其他历史记录。

请仔细阅读documentation,以将其应用于您的特定情况。