单个git repo设置跟踪硬盘驱动器上的多个位置

时间:2013-07-13 13:07:10

标签: wordpress git version-control middleman

我对git世界很陌生(过去做了一些svn),并希望尝试完成以下内容。

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

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

我想做的是有一个git repo跟踪两个不同位置的变化(HTMLTemplates和project-theme)

这是完全可能的,还是只创建两个单独的repos(例如:proect-static和project-wordpress)?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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

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