Git 应用程序前端/后端共享代码库存储库

Posted

技术标签:

【中文标题】Git 应用程序前端/后端共享代码库存储库【英文标题】:Git app frontend/backend share codebase repository 【发布时间】:2012-01-23 16:15:20 【问题描述】:

我是 git 的新手,有以下问题:

我正在开发一个 html/JS 应用程序。对于后端,我想与前端共享相同的代码库(像 jquery、存根 index.html、几个帮助文件、标准 css 之类的库)

所以我想包含代码库存储库,并在顶部拥有一个用于所有更改的存储库(总共 3 个存储库:1 个代码库、1 个前端、1 个后端)。就像一个应用程序骨架。 这可以通过子模块实现吗?我希望能够将更改推送到代码库或项目存储库。

例如:

public/
|_ index.html
|_ css/
   |_ styles.css

如果我更改 index.html 以包含与代码库一起使用的 js 库,我希望能够推送到代码库。如果我更改 index.html 的标题标签,我希望能够将该更改推送到项目存储库并且不影响代码库。

【问题讨论】:

【参考方案1】:

子模块是重用独立文件集的好方法,但您不应该将子模块与您需要的实际目录结构混为一谈。

Parent repo
  common    (submodule)
  codebase  (submodule)

这与你的实际结构不同

public/
|_ index.html
|_ css/
   |_ styles.css

您可以将两者链接在一起的方式是通过符号链接(即使在 Windows Vista 或 7 上也存在),以便在常用目录中修改您想要的内容,但在实际的 Git 存储库工作树中提交。

【讨论】:

好的,我不应该混合子模块(但可能吗?)并且不可能根据所做的更改将更改的文件(符号链接在这里没有帮助)推送回特定的存储库?我的用例还有其他解决方案吗?【参考方案2】:

是的,子模块可以。我不需要使用符号链接。我有一个包含第 3 方 dll 的子模块,一个包含包含后端的通用代码和一个包含应用程序逻辑的子模块。

app level
 |
 |-- common code
      |
      |-- Libs

忠告,不要在目录名称中使用空格。

【讨论】:

以上是关于Git 应用程序前端/后端共享代码库存储库的主要内容,如果未能解决你的问题,请参考以下文章

Git在添加主存储库之前恢复主存储库后未删除子模块

如何在两个模块之间共享数据库模型?

Git远程/共享预提交钩子

团队Git现场编程实战

在一个仓库中推送和维护后端(Django)和前端(Angular)文件夹

如何添加跨域资源共享请求标头? [复制]