always use remote sync unless no git_remote or offline.
implement switch command.