我有一个git问题/问题。
我们正在使用bitbucket作为我们的远程回购。到目前为止,我们只有主分支。
我正在为此工作的另一个人创建了一个“开发”分支,现在该项目已经开始供我们继续使用。
我一直在当地工作,并做出了改变并提交了它们。
我现在想将这些推送到远程“开发”分支。
我以为
git push origin develop
会这样做,但我得到了
error: src refspec develop does not match any.
这是什么意思?我可以看到开发分支确实存在,所以我做错了什么?
非常感谢你的帮助!
答案 0 :(得分:3)
感谢您的回答,我已经让事情重新开始了。
对于任何有兴趣的人,我都是这样做的。
我做了
git pull origin master
并更新了我的本地仓库,它现在知道有一个远程开发分支
然后我做了
git checkout develop
切换到我的本地开发分支..然后
git merge master
将我在master中完成的所有更改合并到develop分支中 然后做
git push origin develop
工作正常。
现在我在开发分支中的所有更改都是安全的我可以恢复主分支(我工作的地方)所以它与远程主分支相同,一切都是应该的。
不确定如果这是最简单的方法,但我学到了很多关于git的知识。
再次感谢您的回答。
答案 1 :(得分:1)
develop
存在于哪里?本地?远程?或两者?尝试:
git push origin HEAD:develop
答案 2 :(得分:1)
如果您使用
git push <repo> <src>
例如 git push origin develop
然后git希望找到一个名为'develop'的本地分支,它可以用来推送到同名的远程分支。由于该名称没有本地分支,因此会出现错误。
因此,如果您想要推送到本地具有不同名称的新(或现有)远程分支,那么您将执行以下操作:
git push <repo> <src>:<dst>
例如
git push origin master:develop
那应该有用。 *检查*。确实如此。
答案 3 :(得分:1)
你忘记了你的工作吗?当你克隆一个空的repo,添加文件但忘记在推送之前提交它们时会发生这种情况。
答案 4 :(得分:0)
您还没有从服务器开发。您有一个远程开发分支,但您没有本地开发跟踪分支。
git checkout develop
这将创建本地开发跟踪分支。
如果您已提交更改,则这些更改位于您之前使用的主分支上。将这些更改移动到开发分支有点复杂。
一旦我们发现您实际遇到的问题,就可以解释这些变化。