我试图将提交推送到远程,但收到以下错误消息:
$ git push origin master
To git@git1.eu1.frbit.com:hbrosuru.git
! [rejected] ab68c0485d -> master (non-fast-forward)
error: failed to push some refs to 'git@git1.eu1.frbit.com:hbrosuru.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
我觉得我可能在将多个本地分支推送到单个远程分支时搞混了,我想基本清除服务器上的内容,并推送一个全新的分支。这种操作可行吗?或者有没有更好的方法来解决这个错误?附:这个远程分支托管在Fortrabbit上,所以我不能完全访问服务器,无法简单地删除分支并创建一个新的,因为Fortrabbit的部署机制是基于Git的。
git push -f
会生效吗?这将强制使用您正在推送的内容覆盖分支。但是,服务器可能已禁用此功能,因此您需要尝试并查看。 - Isaac Beteshab68c0485d -> master (non-fast-forward)
-- 这意味着您不在任何分支上,因为您当前的 HEAD 是由提交哈希(ab68c0485d
)而不是分支名称(master
)引用的。如果您想要将当前的 HEAD 作为新的主分支,请使用git branch -f master ab68c0485d && git checkout master
,然后尝试推送。 - Isaac Betesh