将上游分支设置为与本地名称不同的远程分支

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 远程分支与本地分支

git 建立本地分支和远程分支关系

git如何将上游(upstream)新建分支(origin没有)导入到origin中?

GIT使用之基于分支管理

使用Git的时候我们比较本地分支版本和远程版本的不同之处?使用啥指令?

git分支合并的,拉取远程分支,合并到本地等不同情况下git的操作命令