def METHOD_NAME(bom_repository_url: str, bom_branch: str, local_path: str):
    repo = git.Repo.init(local_path, mkdir=True)
    # setup remote
    origin = repo.create_remote('origin', bom_repository_url)
    assert origin.exists()
    assert origin == repo.remotes.origin == repo.remotes['origin']
    origin.fetch()
    remote_ref = origin.refs[bom_branch]
    if remote_ref is None:
        raise RuntimeError(f"Remote Branch for {bom_branch} does not exist!")
    logging.info(
        f'Git pull repo with bom.yaml from {origin.name}...'
    )
    repo.create_head(bom_branch, remote_ref).set_tracking_branch(remote_ref).checkout()
    origin.pull()
    logging.info(
        f'Git pull repo with bom.yaml from {origin.name} completed.'
    )
    return repo, origin