在新初始化的裸仓库中创建第一个Git工作树
我想要如下的目录结构:
./parent-folder/.git
./parent-folder/main-worktree
./parent-folder/feature-a-worktree
./parent-folder/feature-b-worktree
我可以在 parent-folder 目录中执行 git init --bare .git 来初始化一个裸仓库。
在还没有初始提交时,如何创建第一个工作树?目标是实现与对有提交的远程仓库按照下面给出的方法所得到的目录结构相同。
如果我要克隆一个有提交的远程仓库,那么我就可以直接克隆裸仓库并添加工作树,以实现如下方式获得所需的工作区目录结构:
cd ./parent-folder
git clone --bare <remote-url-of-repo-with-previous-commits> .git
git worktree add ./main
and so on....
请注意,除了 (bare) 之外,我不希望在 ./parent-folder 层级再出现任何工作树。
解决方案
如果你的 parent-folder/.git 只是刚创建,你不能从它创建工作树。你的 parent-folder/main-worktree 应该是普通的非裸克隆:
git clone .git main-worktree
在 parent-folder/main-worktree 中创建一个提交并推送回 parent-folder/.git。删除 parent-folder/main-worktree,然后创建你的工作树。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。