远程分支的Git列表

远程分支的Git列表,git,powershell,foreach,git-branch,Git,Powershell,Foreach,Git Branch,我正在寻找在PowerShell脚本中为每个Git远程分支执行函数的最佳方法 我不知道获取Git远程分支列表的最佳方法。我可以成功地列出所有远程分支,但分支名称中的格式总是令人讨厌 下面是我尝试过的命令和得到的结果数组 $allBranches = git branch -r $allBranches = @(' origin/branch1', ' origin/branch2', ' origin/branch3') $allBranches = git for-each-ref -

我正在寻找在PowerShell脚本中为每个Git远程分支执行函数的最佳方法

我不知道获取Git远程分支列表的最佳方法。我可以成功地列出所有远程分支,但分支名称中的格式总是令人讨厌

下面是我尝试过的命令和得到的结果数组

$allBranches = git branch -r
$allBranches = @('  origin/branch1', '  origin/branch2', '  origin/branch3')

$allBranches = git for-each-ref --shell --format=%(refname) refs/remotes/origin
$allBranches = @(''origin/branch1'', ''origin/branch2'', ''origin/branch3'')
我想要
$allbranchs=@('origin/branch1','origin/branch2','origin/branch3')
,因此我目前的方法是使用
Trim()
手动从奇怪的分支名称中删除格式:

有更好的方法吗?

Trim()操作应该执行您想要的操作

$allTrimmedBranches = @()
foreach($branch in $allBranches) {
    $allTrimmedBranches += $branch.Trim()
}
#do function

$branchs=git for each ref--format='%(refname:short)'refs/remotes/origin

的标题中有Bash,但确实包含了您想要的git魔力。您是在寻找Powershell代码来轻松格式化返回的分支名称,还是一个更好的git调用,它不包含额外的空格?我正在寻找一个Powershell脚本,不是Bash脚本。我知道如何设置分支名称的格式。我想要一个更好的git调用或者一个更好的方法来遍历分支。我目前的方法是修剪分支名称,这似乎效率很低。我想要一个更好的git调用或者一个更好的方法来遍历分支。你有多少个分支?修剪100个或更少字符串所需的时间/资源可以忽略不计。我已经为您的答案添加了一些解释和/或描述。
$allTrimmedBranches = @()
foreach($branch in $allBranches) {
    $allTrimmedBranches += $branch.Trim()
}
#do function