是的,你可以做到
您只需要按照以下步骤操作:
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
工作树(worktree)
都有它自己的三种状态,所以你不能在多个工作树上使用同一个分支(branch)。git worktree add <second path>
它将在您的计算机上创建另一个文件夹,允许您同时在不同的分支上工作。
git worktree
会创建两个独立的工作文件夹,并指向同一个仓库。
这将允许您在新的工作树上进行任何实验,而不会对仓库本身产生任何影响。在附加的图片中,您可以看到有 2 个独立的 工作文件夹,但它们都在使用单个 repo 并共享内容。
以下是如何创建新工作树以及其结果的示例:
.git/
的文件夹,其中存储了几乎所有的配置和数据。如果你好奇,你可以使用OS X上的Finder打开此文件夹进行查看,使用open
命令,或者在终端中查看它(专业提示:将-a
传递给ls
命令以列出隐藏的文件)。立即就能看到Git的内部运作方式,所以我一定鼓励你自己去查看。objects/
的文件夹,Git用来存储文件、文件变更、提交和关联。你可以使用git cat-file
探索它们的内容。关于这些对象的更多信息,请参见书中的章节; https://git-scm.com/book/en/v2/Git-Internals-Git-Objects。
< p > git
命令提供了一个良好的前端界面来处理这些对象和文件夹中的其他内容,以便您可以轻松地评估和管理工作树状态。
如果您还想了解更多信息,我强烈建议您花时间阅读我一直在链接的整本书。最后一节标题为 "Git Internals" 很好地详细介绍了 Git 的内部工作原理。
.git/
中还发生了什么,以及如何深入查看对象。你认为还有什么需要改进的吗? - pnovotnak