You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在新初始化的裸Git仓库中创建首个工作树?

如何为无初始提交的Git裸仓库创建首个工作树

需求目录结构

目标搭建的目录结构如下:

./parent-folder/.git
./parent-folder/main-worktree
./parent-folder/feature-a-worktree
./parent-folder/feature-b-worktree

已在parent-folder目录下执行git init --bare .git初始化裸仓库,但无初始提交,需要创建首个工作树,同时保证parent-folder下仅存在裸仓库.git和指定的工作树目录。

无初始提交裸仓库的首个工作树创建步骤

由于裸仓库没有任何分支和提交,直接使用git worktree add会报错,需先生成初始提交:

方式1:直接创建正式工作树并完成初始化

cd ./parent-folder
# 添加main-worktree,同时指定要创建的main分支(此时分支尚未存在)
git --git-dir=.git worktree add ./main-worktree main
# 进入新创建的工作树
cd main-worktree
# 创建初始文件并完成首次提交
echo "# Project Initialization" > README.md
git add README.md
git commit -m "Initial commit"
# 返回parent-folder目录
cd ..

方式2:通过临时工作树生成初始提交(可选)

cd ./parent-folder
# 创建临时工作树
git --git-dir=.git worktree add ./temp
# 进入临时工作树完成初始提交
cd temp
echo "# Initial Commit" > README.md
git add README.md
git commit -m "Initial commit"
cd ..
# 将临时工作树重命名为正式的main-worktree
mv temp main-worktree

完成初始提交后,即可正常添加其他功能分支的工作树:

git --git-dir=.git worktree add ./feature-a-worktree feature/a
git --git-dir=.git worktree add ./feature-b-worktree feature/b

已有提交的远程仓库搭建参考

如果是基于已有提交的远程仓库搭建该目录结构,可执行以下命令:

cd ./parent-folder
git clone --bare <remote-url-of-repo-with-previous-commits> .git
git --git-dir=.git worktree add ./main-worktree main
# 按需添加其他工作树
git --git-dir=.git worktree add ./feature-a-worktree feature/a

内容的提问来源于stack exchange,提问作者jam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 17:22:26