【问题标题】:Two git branches on two different Windows Desktops? [duplicate]两个不同的 Windows 桌面上有两个 git 分支? [复制]
【发布时间】:2021-07-16 01:43:25
【问题描述】:
您能否在两个不同的 Windows 桌面(同一台计算机,只是不同的桌面)上签出两个单独的 Git 分支?
【问题讨论】:
标签:
windows
git
checkout
desktop
git-checkout
【解决方案1】:
这有点像一个有窗户的房间。观察者可以通过不同的窗户看到同一个房间。当观察者将一块石头扔进房间时,其他人也可以看到这块石头。
我确定你知道同名的两个文件不能存在于同一个目录中。此外,像 HEAD 这样的 ref 不允许同时指向两个或多个 ref 或提交。所以我们不能在同一个工作树中同时检查两个分支。 master 的 foo.txt 说“Hello World”,而 release 的 foo.txt 说“Hallo Welt”。如果我们可以同时检查它们,您可以想象我们将面临什么问题。
通过“访问”,如果您的意思是只读的,那么我们根本不需要工作树。 git log、git rev-parse、git cat-file 等命令访问 git 数据库中的对象。当然,读取像 foo.txt 这样真实和熟悉的文件比像 .git/objects/55/7db03de997c86a4a028e1ebd3a1ceb225be238 这样的普通 blob 更方便。命令“git worktree”可以将分支检出到不同的工作树中,因此我们不必进行多次克隆。当 repo 非常大时,它会很有帮助。如果 git 版本太旧无法支持“git worktree”,我们可以做一些浅克隆或从现有的本地 repo 中克隆,小而快。