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

Git工作树推送远程分支报错,如何关联不同命名的远程分支?

关于Git工作树推送分支的问题

背景

我对Git工作树(worktree)可能存在根本性误解。使用git worktree add命令创建工作树,进入对应文件夹修改代码并提交后,想要将提交推送到远程分支以创建Pull Request,但在推送并设置上游分支环节遇到问题。

常规Git分支工作流

  • 创建本地分支
  • 修改代码
  • 暂存变更
  • 提交暂存的变更
  • 推送并设置上游分支
  • 创建PR

使用工作树时的问题流程

  • 使用git worktree add <path>创建工作树
  • 修改代码
  • 暂存变更
  • 提交暂存的变更
  • 尝试按团队规范推送并设置上游分支
  • 触发错误:src refspec <branch> does not match any

工作树目录下没有.git文件夹,只有指向工作树路径的.git文件。查阅的多数Git工作树教程仅覆盖添加/删除命令,未提及推送细节。

原本以为工作树不算分支,但git branch输出显示当前处于与工作树同名的分支,且该分支似乎关联我曾工作过的分支:

$ git branch
+ 371601_TLS_Certificates
* 395275_396239_MVPbugs
  aspire-dev-shell-baseurl
  ls
+ main
  users/rrhughes/US/371601_TLS_Certificates
  users/rrhughes/US/383751_resolve_URL
  users/rrhughes/US/383751_settings_NXupdate
  users/rrhughes/US/383751_settingsui
  users/rrhughes/US/settings_devops

之后尝试直接执行git push,Git提示未跟踪远程分支,并给出命令git push --set-upstream origin <my branch name>,执行后成功推送。但这与我之前尝试的命令(按团队规范推送至users/username/bugs/<my branch name>格式的远程分支)几乎一致,仅分支名不同。

疑问

  1. 为何之前按团队规范的推送命令失败?
  2. 是否必须让本地工作树分支与远程分支同名?
  3. 若想使用简短的本地分支名,如何关联符合团队命名规范的远程分支?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:02:36