我已经进行了一些测试提交(以测试提交钩子),并始终将索引重置为我的上一个正常提交。现在这些过期的提交仍然存在:
> git reflog
fcdabf7 HEAD@{0}: reset: moving to fcdabf7e01845d6f000fc3cef2edc999c57a7e29
5c97564 HEAD@{1}: commit: t
fcdabf7 HEAD@{2}: reset: moving to fcdabf7e01845d6f000fc3cef2edc999c57a7e29
ae52246 HEAD@{3}: commit: t
fcdabf7 HEAD@{4}: reset: moving to fcdabf7e01845d6f000fc3cef2edc999c57a7e29
c58aeef HEAD@{5}: commit: t
fcdabf7 HEAD@{6}: reset: moving to fcdabf7e01845d6f000fc3cef2edc999c57a7e29
3a2cc3b HEAD@{7}: commit: test
我该如何移除它们?从技术角度来看:如果我不管它们,那么当我执行推送操作时它们会被推送到上游仓库吗?
git log
中找不到它,那就没有被推送。另外,尝试使用git gc
清除无法访问的提交。 - ZeissSgit gc --aggressive --prune=2015-01-01
,但是它没有从reflog中删除它们。 - AndiDog