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

两种Git分支创建方式结果是否一致?如何用git worktree实现?

Git分支创建与git worktree使用问题解答

问题A:两种方式的最终结果是否相同?

完全不同,核心差异有两点:

  • 分支起点不一样:
    方式一先切换到develop分支,再创建test/udp_client,所以这个分支是从develop的最新提交分叉出来的;方式二克隆仓库后直接创建develop/test/udp_client,此时当前分支是仓库默认主分支(一般是main或master),所以这个分支是从主分支的最新提交分叉的。
  • 分支名称不一样:
    一个是test/udp_client,另一个是develop/test/udp_client,这是两个完全独立的分支,不存在任何关联。

问题B:如何使用git worktree完成上述分支创建与切换操作?

git worktree允许你在本地不同目录同时管理多个分支,不用在同一个仓库里来回切换分支,对应两种方式的操作如下:

对应方式一的操作

如果test/udp_client分支已经存在:

git clone <main repository>
cd <main repository>
# 创建新工作目录并关联已有的test/udp_client分支
git worktree add ../test-udp-client test/udp_client
# 进入新目录后自动处于该分支
cd ../test-udp-client

如果test/udp_client分支还没创建,可一步完成分支创建+工作目录关联:

git clone <main repository>
cd <main repository>
# 从develop分支创建test/udp_client分支,并绑定到新工作目录
git worktree add -b test/udp_client ../test-udp-client develop
cd ../test-udp-client

对应方式二的操作

如果develop/test/udp_client分支已存在:

git clone <main repository>
cd <main repository>
# 创建新工作目录并关联已有的develop/test/udp_client分支
git worktree add ../develop-test-udp-client develop/test/udp_client
cd ../develop-test-udp-client

如果分支未创建,一步完成:

git clone <main repository>
cd <main repository>
# 从当前默认主分支创建develop/test/udp_client分支,并绑定到新工作目录
git worktree add -b develop/test/udp_client ../develop-test-udp-client
cd ../develop-test-udp-client

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:55:19