【问题标题】:Is it possible to have files from multiples paths into one git repository?是否可以将多个路径中的文件放入一个 git 存储库?
【发布时间】:2013-08-27 06:26:44
【问题描述】:

我们有一个商业 WordPress 主题,其中包含一些插件。这些插件是主题的一部分,它们不单独出售,也不能在没有主题的情况下使用。

主题进入以下路径:

/wp-content/themes/MyTheme/

虽然相关插件进入以下路径:

/wp-content/plugins/MyPlugin/

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

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

我们将一些功能分离到外部插件中而不是将它们合并到主题本身的原因是因为我们必须根据提供该主题的市场规则来这样做。

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

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

我在this other question 中读过符号链接,但就像提问者所说的那样:

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

【问题讨论】:

    标签: git path repository file-structure


    【解决方案1】:

    方法是将 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 .
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 2012-10-05
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      相关资源
      最近更新 更多