gpt4 book ai didi

具有多个命令和参数的 Git 别名

转载 作者:太空狗 更新时间:2023-10-29 14:37:47 25 4
gpt4 key购买 nike

<分区>

我正在尝试创建一个全局 git 别名以在一个命令中删除一个分支的本地和远程副本。我希望别名采用以下输入:

$ git purge myBranch

并生成以下命令:

$ git branch -d myBranch
$ git push origin --delete myBranch

在许多其他尝试中,我试过这个:

$ git config alias.purge '!sh "git branch -d $1; git push origin --delete $1"'

但是我得到这个错误:

sh: 0: Can't open git branch -d myBranch; git push origin --delete myBranch
fatal: While expanding alias 'purge': 'sh "git branch -d $1; git push origin --delete $1"': No such file or directory

我如何创建一个全局 git 别名来接受一个参数并将其转发给以这种方式的两个单独的 git 命令?

更新:

根据@Chris 的建议,我尝试了以下方法:

git config --global alias.purge '!git branch -d $1 && git push origin --delete $1'

结果如下:

$ git purge test
warning: deleting branch 'test' that has been merged to
'refs/remotes/origin/test', but not yet merged to HEAD.
Deleted branch test (was 1316434).
error: dst ref refs/heads/test receives from more than one src.
error: failed to push some refs to 'git@github.com:testrepo/repo.git'

我已经确认,如果我直接运行命令,它可以正常工作:

$ git branch -d test && git push origin --delete test
warning: deleting branch 'test' that has been merged to
'refs/remotes/origin/test', but not yet merged to HEAD.
Deleted branch test (was b610eca).
To git@github.com:testrepo/repo.git
- [deleted] test

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com