【发布时间】:2009-08-21 23:43:54
【问题描述】:
我刚刚问了一个关于 git 的小问题 - git 存储库的向后兼容性如何?例如,我使用 git 1.6.4 和 svn2git ruby 脚本创建了一个存储库,但我想将它放在运行 Debian Lenny 的机器上,该机器具有 git 1.5.6.5。我还能与存储库正常交互吗?
【问题讨论】:
标签: git backwards-compatibility
我刚刚问了一个关于 git 的小问题 - git 存储库的向后兼容性如何?例如,我使用 git 1.6.4 和 svn2git ruby 脚本创建了一个存储库,但我想将它放在运行 Debian Lenny 的机器上,该机器具有 git 1.5.6.5。我还能与存储库正常交互吗?
【问题讨论】:
标签: git backwards-compatibility
就信息的实际存储而言,它非常向后兼容,这就是您在这种情况下所担心的。我不是一个完全的专家,但我怀疑自第一个稳定版本以来这种情况发生了变化。
我能想到的唯一兼容性问题是,如果两个版本的 git 正在处理完全相同的 repo(不是克隆),并且 .git/config 中设置了适用于较新版本的选项/别名但在旧版本中没有[完全]实现......但即使那样你也必须非常努力地使用这个接近的版本。同样,这与 repo 中的实际信息无关,只是您用来管理它的命令。这就是 git 的发展。
【讨论】:
git 存储库布局几乎没有不兼容的更改;不兼容是因为旧版本无法处理使用新版本创建的存储库,或者无法与新服务器进行交换(获取或推送)。
您应该检查 RelNotes(例如来自 here),以了解您使用的版本之间是否存在一些不兼容的变化。
其中一些(可能是全部)不兼容的更改是:
.git/packed-refs) 的较新存储库中获取。与旧 git 相同,使用与打包 refs 的新 git 相同的存储库我认为没有一个介于 1.6.4 和 1.5.6 之间。
【讨论】: