推进远程分支

时间:2011-12-22 02:49:03

标签: git

我有一个git问题/问题。

我们正在使用bitbucket作为我们的远程回购。到目前为止,我们只有主分支。

我正在为此工作的另一个人创建了一个“开发”分支,现在该项目已经开始供我们继续使用。

我一直在当地工作,并做出了改变并提交了它们。

我现在想将这些推送到远程“开发”分支。

我以为

git push origin develop

会这样做,但我得到了

error: src refspec develop does not match any.

这是什么意思?我可以看到开发分支确实存在,所以我做错了什么?

非常感谢你的帮助!

5 个答案:

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

这将创建本地开发跟踪分支。

如果您已提交更改,则这些更改位于您之前使用的主分支上。将这些更改移动到开发分支有点复杂。

一旦我们发现您实际遇到的问题,就可以解释这些变化。