我有以下回购结构:
/repo
.git/
subrepo1/
.git/
...
dir/
subrepo2/
.git/
...
...
subrepoN/
.git/
...
subrepo
在外部更新,但不一定有遥控器。 repo
的目的是跟踪所有subrepo
的更新,并在一个地方引入新的更改。更新将形成一个" vanilla" repo
内的分支,然后定期合并到" dev"科。这是预期的工作流程。 Git默认拒绝跟踪subrepo
的文件,假设它们是未配置的子模块。
问题是如何禁用此类行为?我不想使用子模块。我希望Git停止将subrepo
作为子模块处理,忽略每个subrepo
.git
目录,同时保留它,并跟踪subrepo
中的所有文件。最好在repo
.git/config
个文件中。
我查看了git手册,尝试了各种各样的事情并且无法实现这一点。有一个有价值的workaround,但仍需要为每个git add <subrepo-path>/
执行subrepo
。子树方法是不可取的,因为它似乎使空间消耗增加了一倍并增加了复杂性。
答案 0 :(得分:0)
我认为没有一种简单的方法。您必须删除或重命名子文件夹中的.git/
或编辑git源(并重新编译git)以禁用.git/
作为子模块的识别。