如何在 git 中别名删除合并分支

gdo*_*ica 7 windows git bash github

我正在尝试为命令添加别名:

git branch --merged | grep -v "\*" | grep -v master | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)

摘自这个答案

这是我的.gitconfig文件:

[credential]
    helper = wincred
[user]
    name = Doron Grinzaig
    email = doron@doNotSpamMe.Suckers
[push]
    default = simple
[alias]
    db = git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d
    unstage = reset HEAD --
Run Code Online (Sandbox Code Playgroud)

但现在当我尝试编辑 .gitconfig 文件时出现错误:

$ git config --global --edit
fatal: bad config file line 9 in C:\Users\Doron Grinzaig/.gitconfig
Run Code Online (Sandbox Code Playgroud)

有人告诉我需要使用!git 别名来运行 bash 脚本,但以下返回了相同的错误:

[alias]
    db = !git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)

我在 Windows 上使用 git bash。

Gar*_*all 11

尝试转义第一个 grep 命令中的引号和反斜杠:

[alias]
    db = !git branch --merged | grep -v \"\\*\" | grep -v master | grep -v dev | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)