我想在git别名中使用
shell变量扩展来去除分支的前缀.不幸的是,当我使用“标准”别名时,不会进行变量扩展:
@H_502_12@
尝试改变
publish = push -u origin ${$(git symbolic-ref HEAD)##refs/heads/}
这是试图实际推送一个名为“${$(git”)的分支.但如果我将别名更改为:
publish = "!git push -u origin ${$(git symbolic-ref HEAD)##refs/heads/}"
它是通过sh运行而无法进行我想要的替换.有一些解决方法吗?
!git push -u origin ${$(git symbolic-ref HEAD)##refs/heads/}
至
!git push -u origin `git symbolic-ref HEAD | sed -e "s#^refs/heads/##"`
这使用sh反引号来执行命令,并使用sed来执行正则表达式替换.