Git推拒绝“非快进”
我对git
还是比较git
目前正在使用它来在团队环境中pipe理我们的代码。 我有一些rebasing的问题,我解决了他们使用
git checkout --ours filename.txt git add filename.txt git rebase --continue
现在我想推进我的更改,并运行以下命令
$ git push origin feature/my_feature_branch
给我以下错误:
To ssh://git@coderepo.com:7999/repo/myproject.git ! [rejected] feature/my_feature_branch -> feature/my_feature_branch (non-fast-forward) error: failed to push some refs to 'ssh://git@coderepo.com:7999/repo/myproject.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (eg 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
我能做些什么来摆脱错误?
PS:我正在尽量避免使用--force
选项。
看起来,有人推动你最后的git fetch
和git push
之间的新提交。 在这种情况下,您需要重复您的步骤并my_feature_branch
。
git fetch git rebase feature/my_feature_branch git push origin feature/my_feature_branch
在git fetch
之后,我build议使用gitk --all
来检查情况。
也许你没有在rebase之前获取远程更改,或者有人推动新的更改(当你重新devise和尝试推动时)。 试试这些步骤:
#fetching remote 'feature/my_feature_branch' branch to the 'tmp' local branch git fetch origin feature/my_feature_branch:tmp #rebasing on local 'tmp' branch git rebase tmp #pushing local changes to the remote git push origin HEAD:feature/my_feature_branch #removing temporary created 'tmp' branch git branch -D tmp
我有一个类似的问题,我解决了:git pull origin
在共享本地存储库上写入locking
我有这个问题,没有以上的build议帮助我。 我能够正确地获取一切。 但推动总是失败。 这是一个位于windows目录下的本地存储库,有几个客户端通过VMWare共享文件夹驱动程序来处理它。 看来,其中一个系统lockingGit存储库的写作。 停止相关的VMWare系统后,立即修复了所有的锁。 几乎不可能弄清楚哪个系统导致错误,所以我不得不一个一个地阻止它们,直到成功。
我有这个问题! 我试过:git fetch + git合并,但没有解决! 我试过:混帐拉,也没有解决
然后我试了这个,解决了我的问题(与工程师的答案类似):
git fetch origin master:tmp git rebase tmp git push origin HEAD:master git branch -D tmp
那么我在这里使用的build议,它拧我,因为它将我的本地代码直接合并到主。 …所以用一粒盐把所有这一切。 我的同事说,以下帮助解决了这个问题,需要重新分配我的分支。
git branch --set-upstream-to=origin/feature/my-current-branch feature/my-current-branch