Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
#!/usr/bin/env python
import os
import subprocess
from git import Repo
working_dir = os.getcwd()
repo = Repo(working_dir)
origin_branches = list()
old_branches = list()
branches = list()
for ref in repo.git.branch('-r').split('\n'):
branch = ref.strip()
if branch.startswith('old/'):
old_branches.append(branch.replace('old/', ''))
elif branch.startswith('origin/'):
origin_branches.append(branch.replace('origin/', ''))
for old_branch in old_branches:
if old_branch not in origin_branches:
subprocess.call(['git', 'checkout', f'old/{old_branch}'])
subprocess.call(['git', 'switch', '-c', old_branch])
subprocess.call(['git', 'push'])
else:
if old_branch != 'master':
subprocess.call(['git', 'push', '-d', 'old', old_branch])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment