在一个git存储库中维护不相关的目录

时间:2009-06-01 07:35:42

标签: git

我想在一个git存储库中组合两个或多个目录。这些存储库在逻辑上是链接的,但属于不同的文件系统路径,例如 /etc/httpd/var/named/chroot/var/named都包含我想作为一个整体管理的虚拟主机数据,但我可以不要把它们联系起来。

asked the git mailing list但没有运气。

建议?


更新:我没有使用这种机制来部署代码,我发现这是一种非常方便的方式:

  • 跟踪发生的变化,以便我可以非常轻松git checkout以前已知的稳定点和事件git bisect配置问题。
  • 在单独的目录中暂存更改,然后在执行更改时从该目录中提取。

2 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法是编写一个部署文件的脚本,并使用Gi​​t管理项目的源代码。如果您有更复杂的需求,那么像Puppet这样的管理工具就可以与版本控制集成。

直接Git签出不是一种好的部署方式 - 它不适用于此。您可以通过使用导出工具来避免在目标系统上拥有存储库的问题,但是根据设计,Git不会存储文件的完整权限/ ACL数据。

答案 1 :(得分:1)

也许你可以设置一个包含多个不相交分支的Git存储库,每个分支对应一个你想要跟踪的不同目录树。我不确定这种安排是否能满足您的所有要求,但它可以让您将不同的目录保存在同一个存储库中。