当我做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
我该如何解决这个问题?
答案 0 :(得分:15)
常见问题是案例错误。我以前遇到过同样的问题。更好的方法是检查分支名称是什么:
$ git branch
master
*branch1
Branch2
你可以比较上面的分支,然后用你得到的名字推它。
$ git push origin Branch2
或
$ git push origin branch1
答案 1 :(得分:5)
除了凯尔的答案,
如果您已经有一个分支名称,例如“ Bug F ix / item001”,并将其推送到存储库中,然后又创建了一个名称为“ Bug f < / strong> ix / item002”,即使您尝试使用正确的套管推入分支,您仍然会收到相同的错误。 我相信这是因为已经创建了“ BugFix”文件夹,以后的分支将使用同一文件夹。
这仍然是大小写错误,但确实具有误导性。
答案 2 :(得分:0)
签出到新分支并再次将其推送对我有用。
git checkout -b 2020-08-05/OfflineLoading
git push
答案 3 :(得分:0)
有时,当您错误地签出错误的分支,在同一错误的分支上执行提交,然后进行推送时,会发生这种情况。在我的案例中,我有一个名为Questionbank的分支机构,并且在检出QuestionBank时犯了一个错误(注为大写“ B”),然后我进行了一次提交,然后git允许它全部推送到想要进行推送的位置。>
解决方案是签出正确的分支(在我的情况下为“ questionbank”),对代码进行一些更改(仅让git允许您提交),然后进行提交,然后推送就可以了。
答案 4 :(得分:0)
当分支名称中包含任何大写字母时,会发生这种情况,因为分支名称区分大小写。因此,转到.git-> refs-> heads,您可以看到您的分支,从当前分支名称中删除大写字母即可。
答案 5 :(得分:0)
我创建了一个新分支
git checkout -b newbranch
并使用以下方法从“无法解决”错误的旧分支推送到新分支:
git push origin newbranch
这对我有用。