在创建我们的项目时,我们将其布局如下:
- 应用
- 应用程序...
- 应用程序...
- 资源(子模块)
- JS/CSS/IMG
- 共享系统库
- ...
这个想法是我们的设计者可以检查对资源子模块的更改,而不会打扰在主仓库中工作的开发人员。
然而,这已被证明是有问题的,并且会导致无休止的混乱。将 Resources 文件夹置于主仓库的控制之下是否需要任何复杂的东西?还是只是复制文件夹内容减去 Git 控制文件,删除原始文件夹并重命名新文件夹以匹配旧名称?
在创建我们的项目时,我们将其布局如下:
这个想法是我们的设计者可以检查对资源子模块的更改,而不会打扰在主仓库中工作的开发人员。
然而,这已被证明是有问题的,并且会导致无休止的混乱。将 Resources 文件夹置于主仓库的控制之下是否需要任何复杂的东西?还是只是复制文件夹内容减去 Git 控制文件,删除原始文件夹并重命名新文件夹以匹配旧名称?
有关如何在 Git 中删除子模块的信息,请参阅此答案。从那里,您可以将前一个子模块的内容复制到您的主存储库中,并让您的设计人员访问该存储库。
如果你担心你的设计师搞砸了主仓库(就像我一样,作为一名开发人员!),那么你也可以编写一个简单的钩子来检查谁在提交,以及他们是否试图提交任何文件之外的文件资源目录来终止提交。