Skip to content

[git] alias gone #97

@ujuc

Description

@ujuc
  22 │ [alias]
  23 │     gone = "!f() { git fetch -p; default=$(git symbolic-ref --quiet refs/remotes/origin/HEAD 2>/dev/null | sed 's@^re
     │ fs/remotes/origin/@@'); default=${default:-main}; git for-each-ref --format '%(refname:short) %(upstream:track)' refs
     │ /heads/ | awk '$2 == \"[gone]\" {print $1}' | xargs -r -n1 git branch -D; current=$(git symbolic-ref --quiet --short 
     │ HEAD || echo); git for-each-ref --format '%(refname:short)' refs/heads/ | while read br; do [ \"$br\" = \"$default\" 
     │ ] && continue; [ \"$br\" = \"$current\" ] && continue; mb=$(git merge-base \"$default\" \"$br\" 2>/dev/null) || conti
     │ nue; tree=$(git rev-parse \"$br^{tree}\"); synth=$(git commit-tree \"$tree\" -p \"$mb\" -m _gone_check_); case \"$(gi
     │ t cherry \"$default\" \"$synth\")\" in -*) git branch -D \"$br\";; esac; done; }; f"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions