我的分布式应用程序在大量主机上运行,应用程序的每个实例都有少量相似但不同的配置文件。我想开始在git中跟踪这些配置文件。
主要的工作流程是让支持人员在分布式主机上适当地编辑文件,在本地提交更改,并定期将这些更改推送到中央位置/存储库,以便我们以后可以恢复它们,等等。
做这件事最好的方法是什么?暴力的方法是为每个分布式主机创建一个上游存储库,并以1:1的方式推送/拉出它们,但考虑到每个存储库中跟踪的文件太少,这感觉像是很大的开销/麻烦/管理。有没有办法让单个中央存储库与每个主机的实例相关联的子目录?我知道如何在subversion中做到这一点(也许我的想法完全错了,因为我太受该模型的影响了),但我被困在了git中做这件事的最佳方式上。
发布于 2015-09-25 03:27:53
子目录-否。这些在Git数据模型中绝对没有特殊的意义(实际上没有任何意义,因为甚至没有办法在Git的控制下添加一个空目录)。
但我只对同一存储库中的每个主机使用单独的分支:假设主机"foo“将其唯一的分支推送到远程分支"foo",如
git push origin master:foo如果您认为每个主机需要多个分支,只需在“目标”分支前加上前缀来“命名”它们:比方说,主机"foo“会将自己的分支”yadda“推入"foo/yadda",就像下面这样
git push -u origin yadda:foo/yadda(使用-u将使下一次推送变得更简单:git push origin yadda -请查看git-push手册页。)
为了更清楚地说明前面所说的内容,我们只根据策略来说明:本地分支的名称不必与“目标”远程分支的名称相同,反之亦然。
https://stackoverflow.com/questions/32768920
复制相似问题