在 git 中过滤远程分支
Filter remote branches in git
我希望 git branch -a
只显示远程分支的一个子集,例如以 'origin/iliaskarim'
前缀开头的分支
完成此任务的最佳方法是什么?
假设您处于 bash 上下文中,只需将 (|
) 传送到 grep
?
git branch -a | grep origin/iliaskarim
那么如果你想要两者远程分支的这个子集和你所有的本地分支,也许考虑只链接命令?
git branch -a | grep origin/iliaskarim; git branch
前端 git branch
命令没有简单的方法来执行此操作。
如果您使用类似命名空间的前缀,例如 origin/iliaskarim/
(注意尾部斜杠)-git for-each-ref
,这是实现 git branch
的管道命令,有没有一个很好的方法来做到这一点。特别是:
git for-each-ref refs/remotes/origin/iliaskarim
足以迭代这些名称,并且仅迭代那些名称。您仍然需要将它与其他命令 and/or 选项放在一起才能获得有限 git branch -a
.
的效果
(编辑:如,如果此处不使用斜杠分隔符,您也可以使用带有显式全局星号的模式匹配:refs/remotes/origin/iliaskarim*
。记住要保护来自 shell 的星标,如果使用 shell。)
使用 grep -v
作为管道过滤掉包含 remotes/origin/
但不继续使用 iliaskarim
的名称是另一种选择。 (参见 ;这里的想法是反转测试,删除 do 匹配某些正则表达式的分支。想出一个合适的 R.E,这取决于关于你的 grep 支持的表达式语法,留作练习。:-))
git branch -r --list origin/iliaskarim\*
我希望 git branch -a
只显示远程分支的一个子集,例如以 'origin/iliaskarim'
完成此任务的最佳方法是什么?
假设您处于 bash 上下文中,只需将 (|
) 传送到 grep
?
git branch -a | grep origin/iliaskarim
那么如果你想要两者远程分支的这个子集和你所有的本地分支,也许考虑只链接命令?
git branch -a | grep origin/iliaskarim; git branch
前端 git branch
命令没有简单的方法来执行此操作。
如果您使用类似命名空间的前缀,例如 origin/iliaskarim/
(注意尾部斜杠)-git for-each-ref
,这是实现 git branch
的管道命令,有没有一个很好的方法来做到这一点。特别是:
git for-each-ref refs/remotes/origin/iliaskarim
足以迭代这些名称,并且仅迭代那些名称。您仍然需要将它与其他命令 and/or 选项放在一起才能获得有限 git branch -a
.
(编辑:如refs/remotes/origin/iliaskarim*
。记住要保护来自 shell 的星标,如果使用 shell。)
使用 grep -v
作为管道过滤掉包含 remotes/origin/
但不继续使用 iliaskarim
的名称是另一种选择。 (参见
git branch -r --list origin/iliaskarim\*