code: def checkout_create_push_branch(repo, name):
      
      try:
          repo.git.checkout(name)
          _LOGGER.info("Checkout %s success", name)
      except GitCommandError:
          _LOGGER.info("Checkout %s was impossible (branch does not exist). Creating it and push it.", name)
          checkout_and_create_branch(repo, name)
          repo.git.push('origin', name, set_upstream=True)
docs: Checkout this branch. Create it if necessary, and push it to origin.