The first one: > git checkout master > git reset --hard HEAD^ > git merge your-branch The second: > git checkout tmp-branch M^ > git merge your-branch > git rebase --onto tmp-branch M master > git branch -d tmp-branch I don't exactly know what the difference between the two methods to solve the duplicate problem. Why if there is already a built under master need to use the second solution? It seems the same to me to solve the problem. Gavin Guo -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html