是否可以将多个路径中的文件放入一个git存储库?

时间:2013-08-24 06:39:37

标签: git path repository file-structure

我们有一个商业WordPress主题,包含一些插件。插件是主题的一部分,它们不是单独出售,也不是没有主题的可用。

主题如下:

/wp-content/themes/MyTheme/

关联的插件进入以下路径:

/wp-content/plugins/MyPlugin/

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

当我们添加一个功能时,我们会在插件和主题中添加代码,然后提交。 每次进行更改时,提交两个存储库绝对没有意义。

我们将某些功能分离到外部插件而不是将它们合并到主题本身的原因是因为我们需要根据市场规则来实现这一功能。

最后,我们不希望在整个/wp-content/目录上拥有存储库,它需要太多git-ignore条目,特别是因为我们在各自的存储库中都有其他主题。除此之外,虽然它不是一个真正的问题,但当前的文件结构允许单击“下载”GitHub / Bitbucket上的任何标记/分支并直接上传到WordPress管理员,主题按原样工作,而如果文件结构从{ {1}}然后用户必须提取文件,恢复主题部分,创建一个具有固定文件结构的新ZIP(以避免使用FTP),最后能够将其上传到WordPress管理员。

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

我在this other question中读过关于符号链接的内容,但就像提问者所说:

  

“我真的不想在我的电脑上混合两个文件夹”

1 个答案:

答案 0 :(得分:0)

通常会将git目录(.git)和工作树视为单独的。

  

“我真的不想在我的电脑上混合两个文件夹”

只要您拥有与实际使用这些文件(wp-content)的结构/内容不同的仓库,您就必须处理两个文件夹结构来处理

您的回购(仅包含您的主题和插件文件)可以在某处查看 您的WordPress结构可以在其他地方开发。

即使你不想使用符号链接,你仍然可以让你的git repo知道wordpress文件夹中的任何变化:

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