2016-06-16 121 views
3

我克隆了一个包含多个分支的大型git仓库(约3.7克)。其中一个分支负责设置Windows安装程序(InnoSetup),因此,在构建主程序后,我需要切换到安装程序分支。是否可以在一个git仓库中拥有多个HEAD?

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

+0

你是什么意思?头被称为分支,而不是回购。 – DonCallisto

+0

我没有得到你为什么会在一个存储库中。将其拆分成两个存储库。 – Xatenev

+0

我完全知道这个结构既没有用也不方便。我刚刚遇到这种情况,并想知道是否可能有多种头像。 –

回答

5

如果你的Git版本是2.5或更高,你有一个新的命令,git worktree。这有一个add子命令,它将在另一个目录中创建一个新的工作树。每个这样的工作树都有自己的HEAD和索引(以及各种状态文件,例如与正在进行的git am,git rebase等一起使用的那些 - 基本上所有事情都由git status报告)。详情请参阅the documentation。请注意,即使在当前版本的Git(2.8.x)中,git worktree仍然有些实验性。不过,它应该适用于这个特定的用例。

What would I use git-worktree for?


见我建议至少2.6,其中修正错误的屈指可数。请参阅the 2.6.0 release notes中的每一处提及的“worktree”。

相关问题