git checkout ygit reset --hard HEAD~2 # ~1 in your case,# or ~n, n = number of commits to cancel
x--x--x--x <-- tmp\-y--y--m--m <- master branch^|-- y branch
,最后移动您的提交(重新应用它们,实际进行新的提交)
git rebase --onto tmp y mastergit branch -D tmp
x--x--x--x--m'--m' <-- master\-y--y <- y branch