Это может не сработать, но сделайте попытку, дайте мне знать, как это происходит:
does_exist = True
try:
repo.git.checkout('branch_name')
except repo.exc.GitCommandError:
does_exist = False
print(does_exist)
Это может также сработать, но попробуйте:
repo.git.rev_parse('--verify', 'branch_name')