我是Git的新手并试图提交并推送一个本地的jupyter笔记本。我的Github存储库中有两个分支“master”和“develop”,目前我必须处理“develop”。在我的Git bash中,我只有一个名为“master”的分支。当我添加并提交文件并尝试推送时,它向我显示了这些错误:
$ git push -u origin develop
error: src refspec develop does not match any.
error: failed to push some refs to
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
你说
我必须致力于“发展”
你也说过
在我的Git bash中,我只有一个名为“master”的分支
这些语句与完全冲突,因为git非常灵活;但作为初学者,您应该从学习基本/典型用法开始。当您完全理解这一点时,您可能会不时地认识到更具“异国情调”配置有用的情况,这是利用git灵活性的时候。
因此,如果您打算在develop
工作,那么您应该在本地查看develop
。假设您已从具有develop
分支(并且未添加其他遥控器)的遥控器克隆,您应该只能说
git checkout develop
这将创建本地develop
分支,指向与远程develop
相同的提交(截至您最近的clone / fetch / pull)。然后你做出改变,然后当你说推动开发git时会知道你的意思。 (在这种情况下,您甚至不需要-u
选项,因为将为您设置上游。)
另一方面,如果您的远程不已经有develop
分支,那么您可以在本地创建一个
git checkout -b develop
然后进行更改,第一次使用
git push -u origin develop
请注意,如果您尝试这样做,但是遥控器已经有develop
分支,则由于非快进更新而推送时可能会出现“被拒绝”错误。当您尝试将主状态直接推送到开发时(在另一个答案的注释中),这似乎是您遇到的问题,并且意味着您正在尝试从远程分支中删除历史记录的推送。