2012-07-19 51 views
3

我有我的WordPress項目在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 

,但我得到了以下錯誤:「遠程(原產地)不具有的.git /配置中定義的網址「

如何將我的主題回購定義爲子模塊,當它主要託管在項目內部而不是在單獨的在線存儲庫時?

謝謝。

+0

我只是把wp-content作爲我的git的根目錄,然後使用.gitignore刪除我不想看到的插件。自定義插件和主題一起跟蹤。 – 2012-08-06 13:24:40

回答

5

我對使用子模塊還比較陌生,但我一直在嘗試做類似的事情,發現兩篇博客文章相當有用:一篇是Clint Berry,另一篇是David Winter

一個子模塊的原理是,它應該有一個單獨的回購,然後當你子模塊添加到新的項目中添加子模塊命令應指向回購:

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

+0

第二個環節(David Winter)壞了。 – LC1983 2017-03-27 13:08:57

+1

更新了鏈接。 – nsecord 2017-03-28 15:31:06