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

Rob*_*anu 9 git

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

问过git邮件列表,但没有运气.

建议?


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

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

Stu*_*lis 2

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

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

  • 也许值得看一下 etckeeper,然后将您的服务配置文件视为特殊情况。etckeeper 运行 /etc(您选择的 DVCS)的存储库,并增强发行版包管理器以与其配合使用。 (2认同)