由于一个rebase错误,我有很多重复的提交。如何删除与另一个提交具有相同日期戳的提交?我想删除重复的提交,而不对其他提交进行任何更改,以保留以前的历史。我已经尝试过用git rebase手动删除它们,但没有成功。
git rebase
rxztt3cl1#
如果你的意图是“回到以前的样子”,检查你的reflog:运行git reflog <branchname>(或git reflog)并搜索在变基之前分支的状态。你可以查看reflog中给定提交的历史记录:
git reflog <branchname>
git reflog
git log --oneline --graph <sha>
一旦你发现了你想要返回的提交,使用git reset <sha>将你的分支恢复到那个状态。如果您没有本地更改要保存,您可以使用git reset --hard <sha>-- caution:git reset --hard会从磁盘中删除未存储在git中的修改,因此这些修改可以被删除,而没有任何方法可以通过git恢复它们。小心使用,在使用git status之前检查它,并确保您想要保留的修改已经以某种方式保存(隐藏或提交)。
git reset <sha>
git reset --hard <sha>
git reset --hard
git status
1条答案
按热度按时间rxztt3cl1#
如果你的意图是“回到以前的样子”,检查你的reflog:
运行
git reflog <branchname>
(或git reflog
)并搜索在变基之前分支的状态。你可以查看reflog中给定提交的历史记录:
一旦你发现了你想要返回的提交,使用
git reset <sha>
将你的分支恢复到那个状态。如果您没有本地更改要保存,您可以使用
git reset --hard <sha>
-- caution:git reset --hard
会从磁盘中删除未存储在git中的修改,因此这些修改可以被删除,而没有任何方法可以通过git恢复它们。小心使用,在使用git status
之前检查它,并确保您想要保留的修改已经以某种方式保存(隐藏或提交)。