从我找到的一些答案(example),我明白如果我git push
,只会推送当前的分支提交。但是当我键入' git push`时,我得到以下输出(部分):
. . .
Writing objects: 100% (12/12), 999 bytes | 0 bytes/s, done.
Total 12 (delta 4), reused 0 (delta 0)
To https://gitlab.bla-bla.git
773f335..db28181 doedev_userAgentTest -> doedev_userAgentTest
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://gitlab.bla-bla.git'
. . .
我当前的分支是doedev_userAgentTest
:
$ git status
On branch doedev_userAgentTest
所以我从上面的输出中理解的是,当前分支的提交是正确的(我确认我提交的文件实际上是在远程仓库中)但是有一个尝试推送master分支但它失败了
所以我的问题是(在推向掌握时忽略错误):
注意:我确实远程拥有上述所有分支。
答案 0 :(得分:2)
Git从分支机构推送它有一个远程分支。
要推送当前分支,请使用以下语法:
git push origin mybranch
如果您的遥控器未命名为origin
,请使用正确的名称。
此外,请注意,此行为取决于您的git配置。更多信息请访问:Does "git push" push all commits from other branches?
答案 1 :(得分:1)
没有额外选项的git push
的行为取决于git配置。
主人的推送被拒绝,因为远程主人已被其他人更新。您可以先运行git pull origin --rebase master
来更新本地主人。
如果您只想推送主人,git push origin master:master
总是可以安全运行。
更新:如果您只想推送doedev_userAgentTest
,则可以运行git push origin doedev_userAgentTest:doedev_userAgentTest
。如果签出doedev_userAgentTest
,git push origin HEAD:doedev_userAgentTest
也可以。在前一种情况下,:doedev_userAgentTest
可以省略。