假设主人和出生地/主人分歧 我是主人,我想在提交之后将来自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
命令太多。我想用一个命令来做这件事。
答案 0 :(得分:2)
我得到了答案:
git cherry-pick HEAD..origin/master
虽然在这种情况下,樱桃选择并不像rebase那样智能,并且无法丢弃提交(k,l,m):
/--k---l---m---A---B---C origin/master
/
D---E---k'--l'--m'---F---G *master