同时 git 拉入两个单独的工作树是否会产生不利后果?

Are there adverse consequences to simultaneous git pulls in two separate worktrees?

我检查了一个 git 存储库,并为其中一个 b运行 创建了一个工作树。我有一段时间没有更新工作树目录,所以当我 运行 git pull 时,它需要一段时间。在另一个终端中,我 运行 git pull 在“基本”目录上。

虽然工作树还在工作,但基目录只是在等待。工作树显示了通常的 adds/changes/deletes 长滚动条,大约在滚动到一半时,基本目录开始显示一长串更新的引用。

工作树完全完成。基地在参考列表中显示了几个这样的错误:

error: cannot lock ref 'refs/remotes/origin/<redacted>/<redacted>': is at <redacted SHA> but expected <redacted SHA>

工作树不支持这个用例吗?是否有可能通过同时操作破坏 repo 的内容?

你不能以这种方式破坏代码库。

两个工作树都在磁盘上的同一个 .git/ 目录上工作,您的操作与来自两个不同终端的 运行 两个 git fetch 相同。

我不知道 git 在这种情况下执行的步骤的精确顺序,但最终结果将是一个连贯的 repo。