同时 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。
我检查了一个 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。