since jj doesn't have a "current branch" concept, it's not literally switching to main/trunk: jj git fetch will always leave @ where it is when you call it. however, git does like, sorta keep each remote's contents separate from yours until you do something with it, whereas jj does not