如何git别名这个git复杂的git命令,里面有单引号和双引号

pkln4tw6  于 2023-06-20  发布在  Git
关注(0)|答案(2)|浏览(106)

我正在尝试为这个命令创建一个git别名:

git branch -vv | grep ': gone]'|  grep -v "\*" | awk '{ print $1; }' | xargs -r git branch -d

我试过不同的方法:用“”括住命令,加上!是管道所需要的但我不能让命令在别名中工作。你知道吗?
谢谢!

cbjzeqam

cbjzeqam1#

别用化名了。只需将其放入$PATH(可能是~/bin)中名为git-mycommand的文件中;现在你可以运行git mycommand,它就会运行这个脚本。
话虽如此,这可能会起作用:

git config --global alias.mycommand '!'"git branch -vv | grep ': gone]'|  grep -v '\*' | awk '{ print $1; }' | xargs -r git branch -d"
oewdyzsn

oewdyzsn2#

一种替代方法是将命令 Package 在别名中定义的shell函数中:

[alias]
name = "!f() { git branch -vv | grep ': gone]'|  grep -v \"\*\" | awk '{ print $1; }' | xargs -r git branch -d; }; f"

!开头的别名将被解释为as a shell command。在本例中,只需定义一个名为f的shell函数,然后直接调用。
请记住,您必须转义函数中的任何"字符。

相关问题