2013-08-24 21 views
3

我们有一个商业WordPress主题,它包装了几个插件。插件是主题的一部分,它们不单独销售,也可以在没有主题的情况下使用。是否可以将多个路径中的文件合并到一个git存储库中?

的主题去以下路径:

/wp-content/themes/MyTheme/ 

虽然相关的插件去以下路径:

/wp-content/plugins/MyPlugin/ 

我们不想让每个插件的一个不同的存储库。由于整个主题和插件相互依赖,同时更新,无法独立工作。

当我们添加一个功能时,我们将代码添加到插件和主题,然后提交。 每次我们进行更改时,承诺使用两个存储库是绝对没有意义的。

我们之所以要将某些功能分成外部插件而不是将它们合并到主题本身中,是因为我们需要根据提供此主题的市场规则来执行此操作。

最后,我们不希望在整个/wp-content/目录中拥有存储库,它需要太多的git-ignore条目,特别是因为我们对每个存储库都有其他主题。除此之外,当前的文件结构允许单击“下载”GitHub/Bitbucket上的任何标签/分支并直接上载到WordPress管理员,并且主题按原样运行,而如果文件结构从/wp-content/开始那么用户将不得不提取文件,恢复主题部分,创建一个具有固定文件结构的新ZIP(以避免使用FTP),并最终能够将其上传到WordPress管理员。

那么,有没有办法让一个存储库具有多个路径?

我读过有关this other question符号链接,但就像提问者说:

“我真的不希望我的计算机上的两个文件夹的任何混合”

回答

0

在方法是将git目录(.git)和工作树分开。

“我真的不希望我的计算机上的两个文件夹的任何混合”

只要你有不同的结构/含量比实际使用这些文件中的一个回购( wp-content),你将不得不处理两个文件夹结构来处理

你的回购(只有你的主题和插件文件)可以在某处检出。
您的WordPress结构可以在其他地方开发。

即使你不想使用符号连接,你仍然可以使你的git回购知道在WordPress文件夹的任何改变:

cd /your/repo 
git --work-tree=/path/to/wp-content status 
git --work-tree=/path/to/wp-content add . 
... 
相关问题