我正在尝试创建一个 git 别名来批准 GitHub 上的拉取请求。此别名的主要功能是章鱼合并多个拉取请求的能力。
到目前为止我得到了什么(.gitconfig):
[alias]
approve = "!f() { git fetch origin $(echo $@ | xargs -n 1 | xargs -I {} echo refs/pull/{}/head:gh-{} ) && git merge $(echo $@ | xargs -n 1 | xargs -I {} echo gh-{}) --edit --log;}; f"
它按预期工作,但是我想知道是否可以简化参数处理:
$(echo $@ | xargs -n 1 | xargs -I {} echo refs/pull/{}/head:gh-{} )
和
$(echo $@ | xargs -n 1 | xargs -I {} echo gh-{})
用法
$ git approve 1 2 3 # to approve pull requests #1, #2 and #3
输出
SHA-1: XXXX
* Merge branches 'gh-1' and 'gh-2'
* gh-1:
fix 1
* gh-2:
fix 2