如何创建保留.git目录的仓库,配合git worktree实现多分支目录结构
实现目标目录结构的方法
你不需要用裸仓库配合git worktree,直接用普通Git仓库就能实现你要的目录结构,具体步骤如下:
1. 创建/初始化普通仓库
如果是全新仓库:
mkdir my-project cd my-project git init # 生成标准的.git目录,而非裸仓库结构 # 可按需关联远程仓库并拉取内容 git remote add origin <你的远程仓库地址> git fetch origin
如果已有裸仓库,可转为普通仓库:
# 以非裸模式克隆裸仓库 git clone --no-bare <裸仓库地址> my-project cd my-project
2. 用git worktree添加分支目录
此时主目录已存在.git/,直接在该目录下执行命令添加各分支的独立工作目录:
# 添加远程分支branch1,本地目录为当前路径下的branch1 git worktree add branch1 origin/branch1 # 若为本地新建分支,直接指定分支名即可 git worktree add branch2 branch2 # 同理添加其他分支 git worktree add branch3 origin/branch3
执行完成后,目录结构将完全符合你的需求:
./ ├── .git/ ├── branch1/ ├── branch2/ └── branch3/
3. 后续管理要点
- 查看所有已添加的工作树:
git worktree list - 删除指定工作树:
git worktree remove branch1(需确保该目录无未提交更改) - 新增分支时,在主仓库目录下执行
git worktree add <新目录名> <新分支名>即可,所有分支元数据统一存于.git/中,不会造成根目录混乱
内容的提问来源于stack exchange,提问作者user13343959
相关产品推荐
相关产品推荐

