docs: def pull(self):
          """
          Pull selected repo from a remote git repository,
          while preserving user changes
          """
          if not os.path.exists(self.repo_dir):
              yield from self.initialize_repo()
          else:
              yield from self.update()