是否可以在单个git存储库中拥有多个HEAD?

时间:2016-06-16 08:16:33

标签: git

我克隆了一个包含多个分支的大git存储库(大约3.7g)。其中一个分支负责设置Windows Installer(InnoSetup),因此,在构建主程序之后,我需要切换到Installer分支。

是否有可能拥有一个存储库,但在两个不同的目录中有两个单独的HEAD,所以不必克隆存储库两次?

1 个答案:

答案 0 :(得分:5)

如果您的Git是2.5或更高版本, 1 ,您有一个新命令git worktree。这有一个add子命令,它将在另一个目录中创建一个新的工作树。每个此类工作树都有自己的HEAD和索引(以及各种状态文件,例如正在使用的git amgit rebase等等 - 基本上所有报告的内容由git status)。有关详细信息,请参阅the documentation。请注意,即使在当前版本的Git(2.8.x)中,git worktree仍然有点实验性。但它应该适用于这个特定的用例。

另见What would I use git-worktree for?

1 我建议至少2.6,它修复了一些错误。看到每一个提及" worktree"在the 2.6.0 release notes