【问题标题】:Separating Wordpress theme from system files in a git repository将 Wordpress 主题与 git 存储库中的系统文件分离
【发布时间】:2014-05-02 18:30:35
【问题描述】:

我一直在制作 Wordpress 主题并使用 git 来保存进度。我的整个 Wordpress 网站都在 git 项目中,我想删除除主题文件夹之外的所有内容,以便可以轻松地将其移植到其他 Wordpress 网站上。

我知道一种方法是删除所有内容并将主题移动到根文件夹并提交。但是之后的检查会更加复杂,对吧?那么还有其他方法吗?

谢谢。

【问题讨论】:

  • Wordpress 不太适合 git 使用,因为它的文件夹结构 - 核心代码位于根目录中,您可以编辑的内容 (wp-content) 是一个子文件夹。使用 git,您可以使用子模块,但在这种情况下,您的基础 repo 必须是 Wordpress 本身,而您的子模块必须是您的插件/主题,这在维护方面并不理想。
  • @jraede 我不明白为什么。我只想将主题文件夹作为项目。我会将它克隆到 Wordpress 安装中的正确位置。其他文件有什么不同?
  • 哦,抱歉,我误解了您的要求。您将要使您的主题文件夹成为自己的 git 存储库,将其从项目中删除,然后将其重新添加为子模块。 stackoverflow.com/questions/1871282/nested-git-repositories
  • 但是为什么要把 Wordpress 文件保存在 repo 中呢?他们没有被编辑。似乎这会使部署更加复杂。
  • 这个问题可能更适合WordPress Development,不确定:/

标签: wordpress git themes


【解决方案1】:

如果您有兴趣保留主题文件夹的完整历史记录,可以使用 git filter-branch 并删除其他所有内容。

请参阅“Extract part of a git repository?”,在您当前 repo 的克隆中完成:

git filter-branch --subdirectory-filter Project/SubProject-0 --prune-empty -- --all

【讨论】:

  • 这似乎可行,但文件不知何故又回来了。 /wordpress/themes/mytheme 中的文件现在位于 /wordpress 中,但最初存在的所有其他文件也是如此。我不知道这是怎么发生的,因为我不记得拉动或克隆。
  • @Noah 它们应该由与 Git 无关但与 WordPress 管理相关的进程重新生成。
  • 我不知道怎么做。如果那里没有wordpress,它如何管理自己?
  • @Noah 如果您再次克隆该存储库,这些文件会成为克隆的一部分吗?
  • @Noah 也许:将 Git 与 Dropbox 一起使用通常不是一个好主意。 (例如,stackoverflow.com/a/2129286/6309)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
  • 2012-06-26
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多