У меня есть репозиторий, который содержит кучу коммитов из другого проекта и которых нет ни в одной ветви текущего проекта.Они просто появляются в истории, связаны друг с другом, но не связаны ни с одной веткой в проекте.
Так что, если я выполню git branch --contains <commit hash>
, он ничего не возвращает.
(Я полагаю, что это произошло во время внесения некоторых изменений в удаленный репозиторий gitolite3 и выборки, когда его состояние было в ошибке).
Я хотел бы удалить их из базы данных коммитов, так как онине принадлежит здесь вообще.
Как я могу это сделать?
Я пробовал git prune
до и после git reflog expire --expire=now --expire-unreachable=now --all
, но он не удаляет их.Я также пробовал git gc
, но это тоже не помогло.
Это похоже на Полное удаление коммита из базы данных git , но я не могу найти ничего в reflog или веткессылаясь на эти коммиты, которые не позволят черносливу удалить их.Я ненавижу просто идти и удалять объекты из базы данных, что кажется плохим способом сделать что-либо.