你现在的分支的一角落后 - 不要在rebase之后拉

时间:2017-07-04 16:15:40

标签: git

在git中,如果你试图推送一个rebase,它告诉你你的分支的尖端在遥控器后面,并建议你合并。

error: failed to push some refs to 'git@github.com:anodejs/system.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是一个非常混乱的错误消息,并且让很多初学者合并或拉动而不是强制推送。拉动将完全搞乱功能分支。应该有一个警告,在一个rebase之后,一个功能分支上唯一正确的行动方案是强制推动。

您是否同意此错误消息可被视为“错误”?在git中,应该更改此错误消息吗?

1 个答案:

答案 0 :(得分:-1)

我认为链接文章(http://nvie.com/posts/a-successful-git-branching-model/)正确解释了合并工作流程。它没有提到任何rebase工作流程。 这是我的rebase工作流程,可以避免功能分支落后。

git checkout -b featurebranch
在featurebranch上工作并提交你的工作 git checkout develop
git pull从发展中获取最新变化 git checkout featurebranch
git rebase develop
修复任何冲突。当rebase完成后,featurebranch将不会落后。此时,要开发的合并将在回购的HEAD处进行特征分支更改。