我只是有大约GIT中一个简单的问题 - 如何向后兼容的git仓库? 例如,我创建了使用Git 1.6.4和svn2git Ruby脚本资源库,但我想这样说的运行Debian的莱尼,已1.5.6.5的git的机器上。 我仍然能够与存储库正确交互?
Answer 1:
这是在信息实际存储,这是所有你担心在这种情况下而言非常向后兼容。 我不是一个总的专家,但我怀疑,因为第一个稳定版本所更改。
唯一的兼容问题,我能想到搞出是,如果混帐的两个版本正在使用的完全相同的回购(未克隆),而且是在新的版本工作,但都不在的.git /配置设置选项/别名[全]在旧版本中实现......但即使如此,你必须尝试相当困难与版本如此接近。 再次,这是没有什么做与回购的实际信息,只用于管理它的命令。 这就是混帐的发展正在发生。
Answer 2:
有在git仓库的布局很少incompatibile变化; incompatibile在某种意义上说,旧版本可能无法处理与较新的版本创建的存储库,或做新的服务器交换(获取或推)。
你应该relnotes的检查(例如,从这里 )来查找是否有您使用的版本之间有一些incompatibile变化。
这些incompatibile改变一些(可能全部):
- 子模块支持 :前子模块支持Git版本的git的核心引入将不能够处理信息库,它使用的子模块(不明白树/ gitlink项)
- 包装裁判 :老Git版本将无法通过HTTP从使用填充裁判(新库获取
.git/packed-refs
)。 同样的,使用同一个版本库的新的git已经挤满裁判的老蠢货 - 偏移增量打包文件 :老混帐不混帐了解打包文件里面(OFS-Δ)的更新(更紧凑)版本。 这不是为获取和推动一个问题,因为有功能的客户端的发现支持服务器。
这些都不是1.6.4和1.5.6之间,我想。
文章来源: Git repository backwards compatibility