在我的历史中,我有一个似乎因某种原因重复的提交(检查差异并完全相同)。
$ git log pretty=oneline
...
...
d21971dd55e4b4f62421b6531b3fd1e65102974d Add Source Sans Pro required weights
...
...
8aaba297017086094b60087b5601ccc01d50be54 Add Source Sans Pro required weights
...
...
此更改位于尚未推送的分支中。如何摆脱其中一个重复的提交?
编辑:提交日志之间的点并不意味着它们之间恰好有两次提交。在某些情况下,有超过10个。
答案 0 :(得分:4)
要摆脱提交d21971
,你可以做
git rebase -i d21971^
它将打开您的文本编辑器,其中包含提交列表,直到提交d21971
的父级。只需删除提交d21971
的行,保存并退出。它将删除它。
为了确保即使您犯了错误也不会丢失任何提交,您可以先标记当前分支。例如:
git tag safetyTag
git rebase -i d21971^
#Decide that you don't like what you just did
git checkout safetyTag
git branch -f master