将 git 存储库中的现有子目录转换为嵌套的子 git 存储库
Transform existing subdirectories inside a git repository into nested sub-git repositories
我只能访问一 (1) 个且只有一个 git 远程存储库。
在 git 个存储库中,我有这样的结构:
- root(远程 git 存储库 X)
- 一个目录
- B目录
- C目录
现在,如果我更改 A、B、C 中的某些内容,则会作为根 git 存储库的一部分进行跟踪。
我想按如下方式转换我当前的 git 存储库:
- root(远程 git 存储库 X)
- A(X 中的远程 git 存储库)
- B(X 中的远程 git 存储库)
- C(X 中的远程 git 存储库)
现在我阅读了有关子模块的内容,但据我所知,我将不得不使用不同的远程存储库,而不是我现有的远程存储库。
建议?
任何单独“跟踪”每个目录的解决方案都需要每个目录都是它们自己的存储库。然后,例如,您可以使用子模块创建仅引用三个单独存储库的父根存储库。但是除非你真的需要将 A/B/C 组合在一起,否则不需要父存储库(你可以只使用单独的存储库)。
所以任何解决方案都需要您能够访问新的远程存储库。否则,由于 Git 始终跟踪完整内容,因此每次提交都跨越所有子目录。
我只能访问一 (1) 个且只有一个 git 远程存储库。
在 git 个存储库中,我有这样的结构:
- root(远程 git 存储库 X)
- 一个目录
- B目录
- C目录
现在,如果我更改 A、B、C 中的某些内容,则会作为根 git 存储库的一部分进行跟踪。
我想按如下方式转换我当前的 git 存储库:
- root(远程 git 存储库 X)
- A(X 中的远程 git 存储库)
- B(X 中的远程 git 存储库)
- C(X 中的远程 git 存储库)
现在我阅读了有关子模块的内容,但据我所知,我将不得不使用不同的远程存储库,而不是我现有的远程存储库。
建议?
任何单独“跟踪”每个目录的解决方案都需要每个目录都是它们自己的存储库。然后,例如,您可以使用子模块创建仅引用三个单独存储库的父根存储库。但是除非你真的需要将 A/B/C 组合在一起,否则不需要父存储库(你可以只使用单独的存储库)。
所以任何解决方案都需要您能够访问新的远程存储库。否则,由于 Git 始终跟踪完整内容,因此每次提交都跨越所有子目录。