For anyone who was worried like me that this would screw up your refs:
Instead, the remote refs are stored in
refs/prefetch/<remote>/. Also, tags are not updated.
This is done to avoid disrupting the remote-tracking branches. The end users expect these refs to stay unmoved unless they initiate a fetch. With prefetch
task, however, the objects necessary to complete a later real fetch would already be obtained, so the real fetch would go faster. In the ideal case, it
will just become an update to a bunch of remote-tracking branches without any object transfer.
So looks like they though of it & looks like there's no reason not to do this?