Why is this a bad config line for my .gitconfig?

bd = "!f() { git branch --merged | egrep -v '(^\*|master|dev)' | xargs git branch -d }; f"

I’m trying to alias a git command to remove all of my local merged branches.
When I put the bash command into my gitconfig as above, git complains about a bad config line:
fatal: bad config line 26 in file /Users/johnsona/.gitconfig

  • git diff filtered by file name
  • What's the most proper way to remove an already deleted branch from tab-completion history?
  • How to display a specific user's commits in svn log?
  • How to cope with spaces in file names when iterating results from git diff --name-only
  • Find most recent good commit to pass to git bisect
  • Git tracking dotfiles (example: .zshrc)
  • Git: Building project with multiple branches
  • Committed large file corrupted my GIt repository
  • Git granularity — resolving diffs within a line
  • Git: How to find out on which branch tag is?
  • git push origin master: ERROR: Disconnected: No supported authentication methods available
  • setting up git/github on a mac: error on reading usr/local/etc/gitconfig
  • One Solution collect form web for “Why is this a bad config line for my .gitconfig?”

    I’d recommend making this a bash script in your PATH instead, and then calling that script in your git alias instead (or if it’s in your PATH anyway, just name the file git-bd).

    For example, make the file ~/bin/git-bd

    #!/usr/bin/env bash
    git branch --merged | egrep -v '(^\*|master|dev)' | xargs git branch -d

    Make the file executable with the command:

    chmod +x ~/bin/git-bd

    And make sure your .bashrc, .bash_profile or .bash_login file has the line:

    export PATH="$HOME/bin:$PATH"

    And you can either just call git-bd directly, or add the alias in your .gitconfig like so:

    bd = "!git-bd"

    To add to this answer, the reason you are getting a bad config error may be due to the back-slashes. The git-config will read them as is, so you need to escape them again with a second backslash.

    Git Baby is a git and github fan, let's start git clone.