git 错误:源参考规范不匹配任何

nmpmafwu  于 2023-01-15  发布在  Git
关注(0)|答案(5)|浏览(325)

我和几个朋友在GitLab有一个项目,当然有master分支,还有其他分支,当我克隆仓库的时候,我也用git remote add upstream ...命令创建了一个上游分支。
然后,我发出git fetch upstream,接着是git checkout upstream/test1,现在,如果我输入git branch -a,我会得到如下输出:

* (HEAD detached at upstream/test1)
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/upstream/test1
  remotes/upstream/master

这一切都很好,但是我对upstream/test1分支中的代码做了一些修改,我想把它们推送到origin/test1仓库,我得到了标题上的错误消息。请注意,我按照下面的步骤推送:

git add .
git commit -m "Sample message"
git push -u origin test1

如果我发出git show-ref命令,则会得到以下输出:

refs/heads/master
refs/remotes/origin/HEAD
refs/remotes/origin/master
refs/remotes/upstream/test1
refs/remotes/upstream/master

我检查了下面的questions,但没有发现它有帮助。有什么想法如何解决它?

eoxn13cs

eoxn13cs1#

您似乎没有名为test1的本地分支。您有一个名为test1remote 分支与您的upstream远程分支关联。
您不应该直接编辑upstream/test1分支,实际上,尝试 checkout 该分支应该会产生一个警告:

$ git checkout upstream/test1

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

你应该先检查一个跟踪远程分支的本地分支,它应该看起来像这样:

$ git checkout test1
Branch test1 set up to track remote branch test1 from upstream by rebasing.
Switched to a new branch 'test1'

完成这个操作后,一个未修饰的git push将推送到upstream遥控器,而git push origin test1将推送到您的origin遥控器。在那里添加-u标志将切换跟踪分支,这样您的分支将跟踪origin/test1,而不是跟踪upstream/test1。以便将来git pullgit push操作将默认引用该远程分支(origin/test1)。

7fyelxc5

7fyelxc52#

下面的代码将在本地和远程创建一个新的分支。当我创建一个新的分支时,我会遵循这个代码。
git检查主机
git拉取原始主机
git checkout-b * 您的分支机构 *
进行新的更改
git push-u原点 * 你的分支 *

rqqzpn5f

rqqzpn5f3#

在我的例子中,我在master分支中进行了更改,并试图将更改推送到development分支,因此得到了错误。我所做的是-

git checkout development

我做了修改然后跑了

git add .
git commit -m "my changes"
git push origin development
tvz2xvvm

tvz2xvvm4#

对我来说,问题是我试图将一个分支名称推到一个标记/文件夹中,用于我们已经设置的类型(feature / bugfix / etc),但由于我设置终端提示符的方式,文件夹名称没有显示。我需要运行gpo feature/branch-name,只是心不在焉地运行gpo branch-name。(gpo是我为git push origin设置的别名,顺便说一句)。
以防万一这对大家有帮助。

f2uvfpb9

f2uvfpb95#

我也遇到过同样的问题,但我可以在以后修复它们。$ git push -set-upstream origin master error:src refspec origin不匹配任何错误:无法将某些引用推送到“-set-upstream”解决方案$ git remote add原始url $ git push -u --set-upstream原始主机

相关问题