假设 master 和 origin/master 分歧。
我在 master 上,我想在我的提交之后从 origin/master 提交提交,然后推送 --force。
A---B---C origin/master
/
D---E---F---G *master
A---B---C origin/master
/
D---E---F---G---A'---B'---C' *master
变体 1:
git branch -f tmp
git reset --hard origin/master
git rebase tmp
这种变体很糟糕,因为 'git reset --hard' 会检出一些文件,而 'git rebase' 在应用提交之前会再次重写它们。这是一份多余的工作。
变体 2:
git branch -f tmp origin/master
git rebase --onto master master tmp
git branch -f master
git checkout master
命令太多。我只想用一个命令来做到这一点。