Without running git prune or git gc, will git push upload any unreferenced objects? Imagine these commits history:
git prune
git gc
git push
A <= B <=