2017-03-22 188 views
1

他们看起来非常相似,但我不确定,如果简单地将git 1回购与git 2工具一起使用是个好主意。如何将git 1存储库升级到git 2存储库?

是否存在一些升级可能性?


编辑:也“不需要升级的”,或者“你不能升级”的答案是可以接受的,因为他们回答这个问题。

+0

您是否遇到过使用Git版本2进行回购的问题? – axiac

+0

“git 1”和“git 2”是什么意思? – torek

+0

@axiac我发现连续使用显着不同的git版本之间的重大问题。 – peterh

回答

2

1.7.11与任何当前2.x版本之间的内部数据格式更改很少,但v1.7.11本身引入了新的v4索引(如.git/index)文件格式,v2.3.0引入了一个新的“拆分索引”选项。这些都是向上兼容的更改,即,您可以在任何现有存储库上使用更新的Git版本,包括具有现有索引文件的版本。

如果你运行一个更新的Git,用一个更新的v4替换旧的v2索引,然后由于某种原因需要再次运行旧的Git版本,你可以简单地删除并重建索引(当然这会丢弃任何东西上演或任何正在进行的合并)。

那里现在能够更改磁盘存储库格式,从Git版本2.6.3开始(现有格式现在标记为“版本1”),但尚未引入新格式。

在任何情况下,您总是可以从旧Git版本git clone更新到更新的Git版本,反之亦然。 (使用--mirror克隆复制所有引用。决定是保留远程,如果是的话,是否更新fetch线,一旦你有克隆。)

显然,有新的功能(新push.default设置,例如和git worktree add)旧的Gits将不会理解或使用,但实际的存储库格式本身仍然相同。