我有一个从develop
创建的分支(由Atlassian Stash创建),它有一些提交。当我尝试推送我的提交时,我得到一个关于更新被拒绝的错误,因为推送的分支提示位于其远程对应的后面。根据我的理解,这意味着其他人承诺,所以我应该拉动变化。但是,没有什么可以拉动的。有趣的是看Atlassian Stash我能够看到我的推动实际上已经完成了。
$ git push
To REPO_URL
! [rejected] develop -> develop (non-fast-forward)
! [rejected] feature/135-add-button-to-ticket-indicating -> feature/ 135-add-button-to-ticket-indicating (non-fast-forward)
error: failed to push some refs to 'REPO_URL'
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.
我不确定我做错了什么,但我很想知道为什么这个特殊的问题每隔几天就会变得丑陋。在过去,我只是强迫推动,但这并不能帮助我理解为什么问题首先发生。
如何诊断出现此问题的原因?
答案 0 :(得分:2)
看起来,仔细检查一下,Git正在推动比你所知更多的分支。
如果您仅在一个分支上工作,并且当您键入git push
时只希望推送该分支,那么您需要调整您的全局配置如下:
git config --global push.default current
答案 1 :(得分:1)
前一段时间我遇到了同样的问题,我也收到了以下
git push github master
To git@github.com:Joey-project/project.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:Joey-project/project.git'
如果我没记错的话,一般方法是使用以下命令的变体:
git fetch github; git merge github/master
您是否尝试过此Git push - suboptimal pack - out of memory链接?也许这可以帮助你进一步..