使用嵌套子目录结构

时间:2018-02-01 04:05:33

标签: git

经过多次搜索,我找不到任何特定于拆分包含嵌套子目录的git仓库的内容,例如java包。我想为一个包带一个嵌套的子目录,并转移到它自己的repo。例如,从:

开始

| root1
| --com
| ---- mycompany
| ------- foo
| -------吧
其中foo和bar包含符合java的包目录规则的不同包; com和mycompany目录中没有文件。

我想把foo移到它自己的回购中,让com / mycompany / bar完好无损;新的repo应该包含com / mycompany / foo,因此:

| newroot2
| --com
| ---- mycompany
| ------- foo
并保留root1除了foo之外的所有内容

| root1
| --com
| ---- mycompany
| ------- bar

这听起来很简单,几乎每个博客,SO问题和示例只显示一个深度目录拆分,子目录成为新回购的根目录。不是我想要的。

理想情况下,每个包的提交历史记录将被保留,但会分成相应的存储库

我试过了:git filter-branch --index-filter' git rm --cached -r com / mycompany / bar' - - 所有删除条形图,似乎从git跟踪中移除了条形图,但对历史记录没有明显影响 还尝试了:git filter-branch --subdirectory-filter com / mycompany / foo HEAD - - all但是将所有foo文件放在repo根目录中。

很多人都提出了类似的问题,但我还没有找到任何可以保留root和嵌套(java)子目录结构的地址。

任何人都可以描述如何拆分包,保持每个包的历史记录到单独的回购中吗?

0 个答案:

没有答案