Daniel Barkalow [off-list ref] writes:
That is actually to say that fetch should do it (pull calls fetch for that
part), and I agree with that, assuming you've actually got that fetch
config, of course.
Hmm, traditionally, an explicit refspec on the command line that does not
store overrides the configured ones that do store, and I've been using it
as a feature when I run test fetches. If I do not like fetched result, I
can tell the other guy to fix his history and I do not have to contaminate
the history my tracking ref points at. IOW, I use my tracking refs not
just "this is where the guy is", but "this is the last good one I fetched
from that guy".
I could be persuaded to use reflog (e.g. "git diff his@{1}..his") and
manual tagging (i.e. "git tag -f last-good-his his") myself, but this is
"I'd _tolerate_ such a change myself", certainly not "I am happy with that
change and I'd help you guys advocate it and try convincing others who
shared my expectations to switch to reglog and manual tagging."