我目前使用SVN来管理jboss服务器配置,我需要在每个工作副本中有相同子目录的多个副本,但引用服务器上的同一目录,这样当我更改某个文件时,每个副本都会获得更新
示例:
是否可以使用git实现相同的目标?我在(maney)类似的问题中找不到明确的答案。
答案 0 :(得分:2)
我所知道的最好的近似是git-submodule [1]。
您可以定义子存储库,并让“父”存储库在概念上包含一个哈希,指定每个子存储库应具有的确切修订。
当您的HEAD在子存储库中移动时,“git status”和“git diff”会将其报告为父存储库中的哈希更改。
不幸的是,git子模块有点笨重:
当您拉入父回购时,它不会自动更新子回购。相反,子回购将显示为您已进行本地更改(将其新位置恢复到原来的位置)。
在拉/合并父回购后,你必须每次都显式地调用“git submodule update”(或者当然是脚本)。
这也意味着“git rebase”和父级的其他操作在子模块存在的情况下也不能正常工作。但你确实对这里的行为进行了细致的控制,所以没有什么是你无法解决的。
[1] http://kernel.org/pub/software/scm/git/docs/git-submodule.html