如何修复"无法解决分支"在git推?

时间:2016-07-22 18:55:06

标签: git github

当我做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

我该如何解决这个问题?

6 个答案:

答案 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 

这对我有用。