我正在研究一些服务器端软件来进行合并。通过使用 git worktree
可以检查给定分支的裸仓库并将另一个分支合并到其中。即使有大型存储库,它也非常快。
唯一的例外似乎是合并 master
。当我做 git worktree add /tmp/path/to/worktree master
我收到一个错误:
致命:'master'已在'/ path / to / bare / repo'签出
但这显然不是真的, git worktree list
得到:
/ path / to / bare / repo(bare)
...当然,在那条路上没有工作树,只有你期望的裸仓库文件。
更新: 我与git维护者联系,他们同意这可能是一个bug。我有一个初步补丁来测试。另外,我也能够重现了 期望 没有补丁的行为。
在这一点上,我不完全确定边界条件或根本原因是什么,并且可能会有来自git的修复。