我的分支历史如下:
发展--- o ---- o
|
特征
我想在功能分支中进行更改,因此我执行了以下操作
git checkout develop
git pull origin develop
git fetch origin feature:feature
git rebase develop
然后我在功能分支中进行了更改。 现在,我尝试推送功能分支,然后我
error: failed to push some refs to 'https://github.com/test/test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
这可能是由于远程分支没有被重新定位。解决这个问题的正确方法是什么?我不想使用git push -f
答案 0 :(得分:0)
假设您的develop
本地分支与远程develop
分支是最新的,这就是您需要做的事情
git checkout feature
git rebase origin/develop
git push origin feature --force
您正在做的是,您使用本地feature
分支重新定位本地develop
分支,因为我们假设您的本地和远程develop
分支现在是相同的。< / p>
另一点我想说的是,当你从遥控器拉出时,总是试图拉动和变形。因此,您始终知道您的本地<branchname>
和远程<branchname>
具有相同的副本,并且您不需要进行单独的rebase。这是你如何做到的。
git checkout <branchname>
git pull --rebase origin <branchname>