Sep*_*ram 5 git version-control git-filter-branch
有了git filter-branch --subdirectory-filter
你可以从当前仓库改造的子目录到自身的存储库.但是,我想做的是相反的事情:创建一个存储库,它将包含当前存储库的完整内容作为子目录,保持完整的历史记录,就好像它们总是在该子目录中一样.我不想使用子模块,因为我希望该目录成为存储库的一个完整组成部分.
背景:我的任务是编写一个简单的脚本,但任务的范围已经扩展,所以现在该脚本只是一个更大项目的子目录.它也没有自己的生存点,所以首选没有子模块的解决方案.
最简单的解决方案是保留历史记录:只需将git mv
所有文件放入子目录,提交更改,然后继续生活.
如果你真的想假装你一直在子目录中做这项工作,最简单的方法是使用类似的东西:
git filter-branch --tree-filter "mkdir SUBDIR && bash -c 'git mv -k {,.[!.],..[!.]}* SUBDIR/'"
Run Code Online (Sandbox Code Playgroud)
将SUBDIR替换为目标子目录的名称.
归档时间: |
|
查看次数: |
1388 次 |
最近记录: |