【发布时间】:2018-03-13 11:36:25
【问题描述】:
我有两个文件想发送它们自己的新存储库,但我也想保留它们自己的历史记录,因此新存储库已经有一些历史记录。
我尝试搜索并找到了这些线程:
- Splitting a set of files within a git repo into their own repository, preserving relevant history
- How to split a git repository while preserving subdirectories?
- Create a submodule repository from a folder and keep its git commit history
但我无法确切地弄清楚如何编写命令。我尝试根据上述答案运行它:
git clone repo
git remote rm origin
cd repo
git filter-branch --tree-filter 'git rm --cached --ignore-unmatch "filename1" "filename2"' -- --all
我希望清理当前存储库并仅保留这两个文件及其历史记录,然后我可以将其作为新的子模块推送,但在运行命令后,我的所有文件都保留在存储库中。
【问题讨论】:
-
git subtree是(不仅是专用的)执行此操作的方法。 我会在今天晚些时候尝试回答。 -
@mab:你的尝试怎么样? ;-)
标签: git split git-submodules git-filter-branch revision-history