我一直在使用iTerm2和zsh,并且使用以下别名,每次打开新的iTerm2窗口或选项卡时都会收到错误消息。
alias clear-git-branches="git fetch -p && for branch in `git branch -vv | grep ': gone]' | awk '{print $1}'`; do git branch -D $branch; done"
我得到的错误是:
fatal: not a git repository (or any of the parent directories): .git
由于它引发了与目录不是git存储库相关的错误,我猜是与引号有关。我尝试更改它,但是遇到了相同的错误。
我使用此命令清除没有上游的本地分支。
正如卡米尔(Kamil)指出的那样,由于您使用双引号而不是单引号,因此将解析命令的某些部分,从而加载别名(即,在终端中打开选项卡或窗口时)。
当您在终端中运行它时,它看起来还可以,因为此时所有内容都会立即执行。
将所有内容都放在单引号中可以解决问题,但会在内部单引号中引入问题。我建议改写为一个函数。在这种情况下,您可以像使用别名一样使用它。
clear-git-branches() {
git fetch -p && \
for branch in $(git branch -vv | awk '/: gone]/{print $1}');
do git branch -D "${branch}";
done
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句