我目前使用SVN来管理jboss服务器配置,并且我需要在每个工作副本中有相同子目录的多个副本,但是引用服务器上的相同目录,以便当我更改某个文件时,每个副本都获得更新。SVN Externals有没有GIT的替代品?
实施例:
- /服务器/ bin中(共享)
- /服务器/节点-01(储存库的拷贝/服务器/节点)
- /服务器/节点-02(存储库的副本/服务器/节点)
是否有可能使用git实现相同? (maney)类似的问题我找不到明确的答案。
我目前使用SVN来管理jboss服务器配置,并且我需要在每个工作副本中有相同子目录的多个副本,但是引用服务器上的相同目录,以便当我更改某个文件时,每个副本都获得更新。SVN Externals有没有GIT的替代品?
实施例:
是否有可能使用git实现相同? (maney)类似的问题我找不到明确的答案。
我知道的最好的近似是git-submodule [1]。
您可以定义子存储库,并让“父”存储库从概念上包含一个散列,指定每个子存储库应具有的确切修订版本。
当你的HEAD在子仓库中移动时,“git status”和“git diff”会报告它作为父仓库中的哈希变化。
不幸的是,git的子模块是有点笨重:
当你在母公司回购拉,它不会自动更新子回购。相反,孩子回购将显示为您已经进行了本地更改(将其新位置恢复到原来的位置)。
您必须在每次(或当然是脚本)显式调用“git子模块更新”后,您要拉/合并父回购。
这也意味着在子模块存在的情况下,父母的“git rebase”和其他操作不起作用。但是你对这里的行为有很好的控制,所以没有什么不能解决的。
[1] http://kernel.org/pub/software/scm/git/docs/git-submodule.html
你看过子模块吗?它会要求你把这些外部存储到git仓库中,但通常这是如何完成的。 – robamaton