我正在尝试列出我使用的所有Git远程分支
git branch -r
Run Code Online (Sandbox Code Playgroud)
不幸的是,这也给了我
origin/HEAD -> origin/master
Run Code Online (Sandbox Code Playgroud)
我正在使用shell脚本for来循环遍历分支名称.它把origin/HEAD,->并origin/master作为单独的分支名称,导致错误.为了避免这种情况,我正在使用grep -v过滤掉->
for x in $(git branch -r | grep -v '->')
do #stuff
done;
Run Code Online (Sandbox Code Playgroud)
但我grep -v '->'不行.既不做\-\>或^->(我不是很精通正则表达式)
我如何实现我的需求?(在Git中,通过不首先输出origin/HEAD -> origin/master,或者在中grep)
grep快速的事情:
grep -e expr
Run Code Online (Sandbox Code Playgroud)
允许expr类似选项而不被解释为选项.因此,您可以找到-ewith grep -e -e或skip的->出现grep -v -e '->'.
git的一般规则:对于带引用的脚本,请使用该git for-each-ref命令.