Git 更正分支和工作树不匹配
Git to correct branch and worktree mismatch
跟进 '<Branch>' is already checked out at '</other/location>' in git worktrees
当我的分支和工作树不匹配时,我收到“Branch is already checked out at different worktree
”错误:
我现在必须使用 git worktree remove
删除我的 1.2T 工作树,但我想知道将来修复它的最佳方法是什么。
我的分支和工作树设置如下:
/path/master
对应我的gitmaster
分支
/path/release-a
对应我的gitrelease-a
分支
/path/release-b
对应我的gitrelease-b
分支
依此类推。多年来我一直都是这样,直到几天前我在 MS VS 中错误地 单击并更改了一个工作树分支 。现在我的分支和工作树是这样的:
/path/release-a
正在使用我的 git release-b
分支
/path/release-b
正在使用我的 git release-b
分支
现在我无法在 MS VS 中改回它。尝试在工作树中切换分支会得到我:
fatal: '<branch>' is already checked out at '</other/location>'
除了 git worktree remove
还有什么更好的方法吗?
嗯,如果布局如你所描述的,你应该可以 git switch release-a
在 /path/release-a
之内。您的问题是否反映了 git worktree list
的输出或您在 MSVS 中看到的内容?
如果 .git
元数据混乱,您可以在两个工作树中创建虚拟分支(git checkout -b dummy-x
、dummy-y
等),然后在每个工作树中创建 git switch release-...
.如果工作树中有未保存的工作,则根据需要提交/隐藏。
如果 MSVS 将元数据存储在别处,那是另一个问题,大概只能在 MSVS 中解决。
跟进 '<Branch>' is already checked out at '</other/location>' in git worktrees
当我的分支和工作树不匹配时,我收到“Branch is already checked out at different worktree
”错误:
我现在必须使用 git worktree remove
删除我的 1.2T 工作树,但我想知道将来修复它的最佳方法是什么。
我的分支和工作树设置如下:
/path/master
对应我的gitmaster
分支/path/release-a
对应我的gitrelease-a
分支/path/release-b
对应我的gitrelease-b
分支
依此类推。多年来我一直都是这样,直到几天前我在 MS VS 中错误地 单击并更改了一个工作树分支 。现在我的分支和工作树是这样的:
/path/release-a
正在使用我的 gitrelease-b
分支/path/release-b
正在使用我的 gitrelease-b
分支
现在我无法在 MS VS 中改回它。尝试在工作树中切换分支会得到我:
fatal: '<branch>' is already checked out at '</other/location>'
除了 git worktree remove
还有什么更好的方法吗?
嗯,如果布局如你所描述的,你应该可以 git switch release-a
在 /path/release-a
之内。您的问题是否反映了 git worktree list
的输出或您在 MSVS 中看到的内容?
如果 .git
元数据混乱,您可以在两个工作树中创建虚拟分支(git checkout -b dummy-x
、dummy-y
等),然后在每个工作树中创建 git switch release-...
.如果工作树中有未保存的工作,则根据需要提交/隐藏。
如果 MSVS 将元数据存储在别处,那是另一个问题,大概只能在 MSVS 中解决。