How to run git rebase interactive mode to remove duplicate commits

梦想与她 提交于 2019-11-28 00:49:37

问题


I made a mistake when I rebase to a recent commit. ( I forgot to "git fetch --all" first, then rebase), and I've committed and pushed to the remote branch since. Now I did the rebase properly by fetching first, solved the conflicts, and pushed to the remote branch. Now, it seems all my recent commits are showing up twice. What I would like to do is to use git rebase interactive mode, pick all the commits that I want, then rebase properly to the commit sha code. Is this the way to do this? and if I start git rebase -i, which sha code should I use, the original branching point sha code? or the most recent sha code? Thanks,

David


回答1:


Give git rebase the number of commits back in time. For 10 commit back in history:

git rebase -i HEAD~10

Then simply delete the lines for the commits you want to remove in the text editor that is shown. Saving the file and exiting will start the rebase and the lines that were removed will no longer be in the history once the rebase has completed.




回答2:


I successfully removed the duplicate commits. Here is what I did: hard reset to the branching point, pull from origin, start git rebase -i SHACODE (original branching point), pick the commits that I want to keep, git rebase to the current SHACODE.



来源:https://stackoverflow.com/questions/10018447/how-to-run-git-rebase-interactive-mode-to-remove-duplicate-commits

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!