Git 远程分支列表

Git list of remote branches

我正在寻找为 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'')

我愿意 $allBranches = @('origin/branch1', 'origin/branch2', 'origin/branch3'),所以我目前的方法是使用 Trim():

手动删除奇怪分支名称的格式
foreach($branch in $allBranches) {
    # Format $branch
    # Do function
}

有没有更好的方法?

Trim() 操作应该可以满足您的要求。

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

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