将上游分支设置为与本地名称不同的远程分支
Posted
技术标签:
【中文标题】将上游分支设置为与本地名称不同的远程分支【英文标题】:Setting upstream branch to remote with different name than your local 【发布时间】:2017-11-03 04:34:03 【问题描述】:我使用浏览分支下拉菜单从 github 上的现有 PR 创建了一个新分支...输入了一个新分支名称,以便它会根据我正在查看的 PR 创建一个新分支。
然后我去当地做了一个git checkout -b myBranch
如何将我的分支与远程同步?我没有将我的本地分支命名为与远程相同的名称。
git push -u origin my_branch
- 我假设你已经同步了东西并且本地和远程分支名称完全相同。
那我的情况呢?
我试过了,但出错了
▶ git branch --set-upstream-to=origin/feature/WA-3 WA-3 错误:请求的上游分支 'origin/feature/WA-3' 不存在
更多帮助信息
远程分支的名称是feature/WA-3
,而我的本地分支的名称是W3
▶ git 远程显示来源
* remote origin
Fetch URL: https://github.com/xxxx.git
Push URL: https://github.com/xxxx.git
HEAD branch: develop
Remote branches:
develop tracked
feature/WA-3 new (next fetch will store in remotes/origin)
master tracked
refs/remotes/origin/w9-homepage stale (use 'git remote prune' to remove)
w1-log-in tracked
wa-9 tracked
Local branches configured for 'git pull':
develop merges with remote develop
w1-log-in merges with remote w1-user-can-log-in
w9-homepage merges with remote wa-9-homepage
Local refs configured for 'git push':
develop pushes to develop (up to date)
w1-log-in pushes to w1-log-in (up to date)
【问题讨论】:
new (next fetch will store in remotes/origin)
听起来很奇怪。你试过抓取吗?
这能回答你的问题吗? How can I push a local Git branch to a remote with a different name easily?
【参考方案1】:
使用冒号:
git push -u origin local_branch:remote_branch
【讨论】:
▶ git branch -u feature/WA-3:WA-3 错误:请求的上游分支 'feature/WA-3:WA-3' 不存在 这是我在 github 上给它起的坏名字吗?为什么找不到呢? 我将远程分支命名为feature/WA-3
太奇怪了,我在 github 上看到了这个分支,但是当我这样做时,它并没有列出那个特定的分支:" ▶ git branch -r origin/HEAD -> origin/develop origin/develop origin/master origin/w1-log-in origin/w9 origin/wa-9-homepage
我真的不敢相信。我删除了遥控器并重新创建了一个新的分支,该 PR 只调用了 W3
和同样的处理,当我执行 git branch -r
时它甚至看不到它以上是关于将上游分支设置为与本地名称不同的远程分支的主要内容,如果未能解决你的问题,请参考以下文章
git如何将上游(upstream)新建分支(origin没有)导入到origin中?