2

我对 git 的世界非常陌生(过去做过一些 svn),并且希望获得一些关于尝试完成以下任务的建议。

我当前的工作流程是在移植到 Wordpress 模板之前使用 Middleman 设置静态 html 文件以获取基本的 HTML 结构和样式。这些静态文件位于C:/git/project-name/HTMLTemplates.

我的 wordpress 设置使用 Xampp,因此主题文件保存在C:/Xampp/wordpress/wp-content/themes/project-theme.

我想做的是有一个 git repo 来跟踪两个不同位置(HTMLTemplates 和项目主题)的变化

这是可能的,还是我只是创建两个单独的存储库(例如:proect-static 和 project-wordpress)?

4

1 回答 1

2

不,git 中没有这种机制。Git 假定它管理的所有文件(“工作副本”)都存在于单个目录(和子目录)中;不支持在 repo 中管理两个单独的目录。

因此,您必须以某种方式将所有内容保存在一个目录中,可能是子目录HTMLTemplatestheme类似目录。

你可以使用两个 git repos,但我强烈建议不要这样做。一个仓库应该包含一个完整的“项目”,即构建一个软件所需的一切(不包括外部库之类的东西)。如果您将项目拆分到两个存储库中,则无法有效地分支和合并(因为您必须同时在两个存储库中执行此操作),您无法轻松签出旧版本等。

为了解决您的问题,我看到了一些可能的解决方案:

  • 有一些构建/部署脚本将所有内容复制到正确的位置。您可能已经有一个调用 Middleman 的脚本,并且可能告诉 Wordpress 刷新其缓存,因此您可以将其添加到那里。
  • 为 wordpress 目录设置符号链接。在类 UNIX 系统上,这很容易并且通常可以完成。在 Windows 上,您可以创建“连接点”,我相信它的工作方式类似。
  • 配置 Wordpress / Apache 以直接从您的 git 工作副本中读取目录。路径应该是可配置的。

我更喜欢第一个解决方案;这具有额外的优势,它将您的开发环境与服务器配置分离。如果您的设置稍后更改或您的项目需要在不同的环境中运行(在不同的机器上开发,其他人也想处理您的项目,您想部署到某处的托管服务器等),这将使您更容易。

注意:我相信,问题在于您正在尝试使用 git 作为部署工具。虽然很多人都这样做,但 git 并不真正适合这个目的。部署通常应该是一个单独的步骤。

于 2013-07-13T20:10:07.307 回答