我们有一个商业 WordPress 主题,其中包含一些插件。插件是主题的一部分,它们不单独出售,没有主题也不能使用。
主题路径如下:
/wp-content/themes/MyTheme/
虽然关联的插件位于以下路径中:
/wp-content/plugins/MyPlugin/
我们不希望每个插件有一个不同的存储库。由于整个主题和插件相互依赖,同时更新,不能独立运行。
当我们添加一个功能时,我们将代码添加到插件和主题,然后提交。 每次我们进行更改时都提交到两个存储库是完全没有意义的。
我们之所以将一些功能分离到外部插件中,而不是将它们 merge 到主题本身中,是因为我们需要根据提供该主题的市场规则这样做。
最后,我们不希望在整个 /wp-content/
目录中拥有存储库,这将需要太多的 git-ignore 条目,尤其是当我们有其他主题时存储库。此外,虽然这不是真正的问题,但当前的文件结构允许单击“下载”GitHub/Bitbucket 上的任何标签/分支并直接上传到 WordPress 管理员,主题按原样工作,而如果文件结构从 /wp-content/
然后用户将不得不提取文件,恢复主题部分,创建一个具有固定文件结构的新 ZIP(避免使用 FTP),最后才能将其上传到WordPress 管理员。
那么,有没有办法让一个存储库具有多个路径?
我在 this other question 中读过有关符号链接(symbolic link)的信息但正如提问者所说:
"i dont really want any mixing of the two folders on my computer"
最佳答案
一种方法是将 git 目录(.git)和工作树视为分开的。
"I don't really want any mixing of the two folders on my computer"
只要您的存储库与实际使用这些文件的结构/内容不同 (wp-content
),您就必须处理两个文件夹结构
你的 repo(只有你的主题和插件文件)可以在某处 check out 。
您的 WordPress 结构可以在其他地方开发。
即使你不想使用符号链接(symbolic link),你仍然可以让你的 git repo 知道 wordpress 文件夹中的任何变化:
cd /your/repo
git --work-tree=/path/to/wp-content status
git --work-tree=/path/to/wp-content add .
...
关于git - 是否可以将来自多个路径的文件放入一个 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18415764/