如何修复git push上的“无法解析到分支”?

r55awzrz  于 2023-01-19  发布在  Git
关注(0)|答案(9)|浏览(178)

当我执行git status时,我得到了分支:

$ git status
On branch OfflineLoading

当我尝试git push时,我得到:

$ git push origin OfflineLoading
fatal: OfflineLoading cannot be resolved to branch.

当我检查分支时,它不在那里:

$ git branch
   branch1
   branch2
   branch3
   branch4

我该怎么解决这个问题?

ffscu2ro

ffscu2ro1#

常见的问题是大小写错误。我以前遇到过同样的问题。更好的方法是检查分支名称是什么:

$ git branch
  master
 *branch1
  Branch2

你可以比较上面的分支,然后用你得到的名字推它。

$ git push origin Branch2

$ git push origin branch1
3pvhb19x

3pvhb19x2#

除了凯尔的回答
如果你已经有了一个分支名称,比如“BugFix/item 001”,并将其推送到仓库中,然后你创建了另一个分支名称为“Bugfix/item 002”,即使你尝试使用正确的大小写推送分支,你仍然会得到相同的错误。我相信这是因为“BugFix”文件夹已经创建,未来的分支将使用相同的文件夹。
这仍然是一个套管错误,但真正的误导。

enxuqcxy

enxuqcxy3#

我的分支名称是功能/S212121_TestCase_review_Dashboard
当我尝试使用以下命令将代码推送到此分支功能/S212121_TestCase_review_Dashboard时:

git push origin feature/S212121_TestCase_review_Dashboard
fatal: feature/S212121_TestCase_review_Dashboard cannot be resolved to branch

然后我使用以下命令重命名了my分支:

git branch -m TestCase_review_CWLA_Dashboard

之后,我已经使用以下命令来推动代码:

git push --set-upstream origin TestCase_review_CWLA_Dashboard

这对我很有效,我可以将代码推到分支。

b1zrtrql

b1zrtrql4#

这可能是因为您不在最新的master分支中。
为此,您可以在master分支上使用terminal命令进行检查:

git pull

git pull origin (master branch)

检查了你的分支。
我创建了一个新分支

git checkout -b newbranch

并使用以下命令从“无法解析”错误的旧分支推送到新分支:

git push origin newbranch

这对我很有效。

wooyq4lh

wooyq4lh5#

checkout 到新的分支并再次推送它对我很有效。git checkout -b 2020-08-05/OfflineLoadinggit push

xcitsw88

xcitsw886#

有时候,当你错误地 checkout 了一个错误的分支,在同一个错误的分支上做了一个提交,然后又做了一个推送时,就会发生这种情况。在我的例子中,我有一个名为questionbank的分支,犯了 checkout questionBank的错误(注意用大写字母'B'),然后我做了一个提交,git允许这一切直到我想做一个推送的时候。
解决方案是 checkout 正确的分支(我的例子是“questionbank”),对代码做一些修改(只是让git允许你提交),然后提交,推送就可以正常工作了。

xqnpmsa8

xqnpmsa87#

当你的分支名称中有大写字母时就会发生这种情况,因为分支名称是区分大小写的,所以进入.git-〉refs-〉heads你就可以看到你的分支,去掉当前分支名称中的大写字母,就这样。

6l7fqoea

6l7fqoea8#

我不得不做一个小的改变,并再次添加我的提交,然后推,它的工作!

fae0ux8s

fae0ux8s9#

这不是一个理想的解决方案,但对我很有效:
结帐到不同的分支(例如:'branch2')&再次 checkout 回您的特性分支并尝试推送到远程。

相关问题