【问题标题】:Git push from fork master into remote upstream branchGit 从 fork master 推送到远程上游分支
【发布时间】:2020-09-16 22:35:45
【问题描述】:

我有一个相当简单的问题,但我无法找到解决方案。我已经分叉了一个存储库<repo> 并为代码引入了新功能。所有这些功能都保存在我 fork 的 master 分支中。现在我想将我的更改贡献给原始上游存储库。我想将push 他们放到upstream 上的一个单独的新分支中。我正在尝试使用以下命令来实现它:

git push origin upstream:<branch>

我的Git配置文件的相关部分是:

[remote "origin"]
    url = git@<...>:mabalenk/<repo>.git

[branch "master"]
    remote = origin
    merge  = refs/heads/master

[remote "upstream"]
    url = git@<...>:jsmith/<repo>.git

我收到以下错误消息:

error: src refspec upstream does not match any
error: failed to push some refs to 'git@<...>:mabalenk/<repo>.git'

【问题讨论】:

  • 它是git push RemoteName BranchName。如果你想推到upstream,你当然不想提到origin
  • 我的问题的正确解决方案是git push upstream master:&lt;branch&gt;,其中master 指的是我的fork 中的分支名称,&lt;branch&gt; 是原始上游存储库上的分支名称。注意——冒号很重要。

标签: git gitlab git-push


【解决方案1】:

正如 underscore_d 所说,首先您在 git push 中选择了错误的存储库。您需要 git push upstream 而不是 git push origin 才能将内容推送到上游存储库。

第二个问题是你的 refspec。不同分支名称的参考规范以src:dest 给出。因此,在您的情况下,您需要master:BRANCH_NAME,其中BRANCH_NAME 是您希望在上游使用的分支的所需名称。

总之,命令是:git push upstream master:BRANCH_NAME。您可能还需要使用 --set-upstream 标志,尽管 git 会在上述命令的第一次调用时明确说明。

【讨论】:

    猜你喜欢
    • 2012-07-25
    • 2015-08-14
    • 2011-09-10
    • 2016-07-08
    • 2016-01-23
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    相关资源
    最近更新 更多