我对git相当新,并提出以下问题:
我正在开发一个HTML / JS应用程序。对于后端,我想与前端共享相同的代码库(libs如jquery,stub index.html,几个帮助文件,标准css)
所以我想要包含代码库存储库,并拥有一个自己的存储库,用于顶部的所有更改(共3个存储库:1个代码库,1个前端,1个后端)。像应用程序框架一样。 这可以通过子模块实现吗?我希望有可能将更改推送到代码库或项目存储库。
例如:
public/
|_ index.html
|_ css/
|_ styles.css
如果我更改index.html以包含要与代码库一起使用的js lib,我希望能够推送到代码库。如果我更改了index.html的标题Tag,我希望能够将该更改推送到项目存储库并使代码库不受影响。
答案 0 :(得分:1)
子模块是重用独立文件集的好方法,但是你不应该混合使用子模块和你需要的实际目录结构。
Parent repo
common (submodule)
codebase (submodule)
这与您的实际结构不同
public/
|_ index.html
|_ css/
|_ styles.css
您可以将两者链接在一起的方式是通过符号链接(甚至存在于Windows Vista或Seven上),以便在您的常用目录中修改您想要的内容,但是在实际的Git repo工作树中提交。
答案 1 :(得分:1)
是的,子模块可以。我不需要使用符号链接。我有一个包含第三方dll的子模块,一个包含公共代码(包括后端)和一个具有应用逻辑的子模块。
app level
|
|-- common code
|
|-- Libs
建议之一,不要在目录名中使用空格。