git - 是否可以在一个 git 存储库中有多个 HEAD?

标签 git

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

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

最佳答案

如果你的 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,它修复了一些错误。查看 the 2.6.0 release notes 中每一次提及“worktree” .

关于git - 是否可以在一个 git 存储库中有多个 HEAD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853560/

相关文章:

git - 在从 jenkins 构建一个 git 项目时,它显示了一个错误,比如找不到任何要构建的修订

ruby - 如何让 GitHub 页面使用 master 分支?

git 相当于 'hg share' ?

linux - 如何在 LESS 中找到 "/*"?

mysql - 表达式引擎 : git : local development : remote database

git - 在另一个分支中查找第一个祖先提交

git:你的分支领先 X 次提交

git - 你如何计算 Git 中的功能分支变化?

java - JGit 仅遍历本地和远程分支并读取文件

git - 在自定义 GO 包之上提交