刚刚开始学习 git,我喜欢它的概念。到目前为止,有一件事对我来说有点奇怪,我似乎无法在搜索中找到。当我打字时git checkout branchName
要更改为我想要的任何分支,当我查看 Finder 窗口时,我可以根据我所在的分支直观地看到文件/文件夹在存储库中出现或消失。
下面的 2 张图片展示了我如何在一个分支中,然后转到另一个分支(这是来自 Lynda.com 课程)。左侧显示 Finder 以及文件夹 _fonts 如何消失,因为它不存在于其他分支中。
但它到底在哪里(以及其他发生更改的文件)?从我在这里看到的,我无法同时物理地查看来自不同分支的文件,但我只是好奇当我更改分支时它们实际上在系统中的位置。
从我在这里看到的,我无法同时物理地查看来自不同分支的文件,但我只是好奇当我更改分支时它们实际上在系统中的位置。
是的,你可以做到
您只需遵循以下步骤:
Git 早在 2007 年就以这个名称公开了这个功能git workdir
。多年来它一直位于 git contrib 文件夹下。
在 git 2.5 版本中它被公开为git worktree
。它允许您同时在多个分支上工作。
怎么做?
# create a new working directory
# the path will be added and the given branch name will be checkout out
git worktree add <path to the new working directory/ branch name>
# now you have 2 folders with different branches in each one of them.
# if you used something like `git worktree /tmp/aaa` than you will have
# branch aaa checked out in the new folder and you can switch to any branch
# you wish
Each worktree
有自己的三态所以你不能多个工作树上的同一分支。
例如:
git worktree add <second path>
将在您的计算机上创建另一个文件夹,允许您同时在不同的分支上工作。
git worktree
将创建 2 个彼此分离的独立工作文件夹,同时指向同一个存储库。
这将允许您在新工作树上进行任何实验,而不会对存储库本身产生任何影响。在附图中您可以看到有2 分开工作文件夹,但它们都使用单个存储库并共享内容。
以下是有关如何创建新工作树及其结果的示例:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)