保持WordPress版本控制 - 单独的主题回购

时间:2012-07-19 10:52:53

标签: wordpress git

我在Git下有我的WordPress项目,并将WordPress作为子模块。我想将我的主题开发保存在一个单独的子模块中,但是在当前设置中并且在将主题设置作为子模块时遇到一些困难。

这是我的文件系统:

/.git (master repo)
/index.php
/wp-config.php
/wordpress (WordPress repo as a submodule)
/wp-content 
  themes
     test-theme (theme repo)
        .git
        index.php
        (etc...)

现在,当我将我的主仓库推送到github,并尝试在另一台机器上克隆它时,wordpress子模块下载正常,但我的主题文件夹没有,我得到一个关于未定义子模块的错误。

我尝试使用它将我的主题添加为子模块:

git submodule add ./wp-content/themes/test-theme/.git ./wp-content/themes/test-theme

但是我收到以下错误:“remote(origin)没有在.git / config中定义的url”

如果我将主题回购定义为子模块,当它基本上“托管”在项目内部而不是在联机的单独存储库中时,如何将其定义?

感谢。

1 个答案:

答案 0 :(得分:5)

我对使用子模块仍然相对较新,但我一直在尝试做类似的事情,并发现两篇博文很有帮助:一个由Clint Berry提供,另一个由David Winter提供。

子模块的原理是它应该有一个单独的repo,然后当你将该子模块添加到一个新项目时,add submodule命令应该指向repo:

git submodule add https://github.com/youruseraccount/test-theme.git ./wp-content/themes/test-theme
git init
git update

我相信这就是您收到错误的原因,没有与原点相关联的URL。查看文件.gitmodule和.git / config进行确认。如果我是正确的,git init将在.git / config和git update中添加必要的条目,这将从repo中提取主题并将其放入子目录中。

有关如何提交子模块的更改,请参阅here;有关如何删除子模块,请参阅here