将远程分支提示从一个分支移动到另一个分支

Move remote branch tip from one branch to another

我做了一个 rebase --onto 将之前的提交 (c4) 从 master 移动到一个功能分支。但是我已经把master推送到远程origin了

所以现在我有

c1 - c2 - c3 - c5(master HEAD)
           \
            c4(feature HEAD) - c5(origin/master HEAD)

我意识到解决这个问题会搞砸任何从 origin/master 中引入更改的人。但是只有一个其他开发人员,所以这不是什么大问题。如何更改 origin/master 使其不在功能分支之后。我希望它是这样的:

c1 - c2 - c3 - c5(master HEAD)(origin/master HEAD)
           \
            c4(feature HEAD)

使用从 master 到 origin/master 的强制推送:

git push origin master:master --force

其他开发人员之后需要 reset 将他的主人 reset 到远程主人(最好在保存他的工作后进行硬重置):

git fetch origin
git checkout master
git reset --hard origin/master