有没有办法在没有警告的情况下签出最新版本的origin分支

问题描述 投票:0回答:2

我编写了一个powershell脚本来获取git子模块并设置他的分支。它将从管道运行,分支名称将从启动表单输入传递。

Param(
    [Parameter(Mandatory=$false)]
    [string]$branch = ""
)

cd "$PSScriptRoot\.."

git submodule update --init --recursive

Write-Host "Got branch $branch"

if (-not [string]::IsNullOrWhiteSpace($branch)) {
    cd "submodule"

    git checkout "origin/$branch"
    Write-Host "Installed branch $branch"
} else {
    Write-Host "Installed default branch"
}

问题在于

git checkout "origin/$branch"
它满足了我的需要,但显示了警告。有没有更正确的方法来实现它的目的?

git
2个回答
1
投票

关于

detached HEAD
状态的警告?警告本身会告诉您如何避免它出现。

Turn off this advice by setting config variable advice.detachedHead to false

所以,像这样的东西就足够了:

git -c advice.detachedHead=false checkout "origin/$branch"

0
投票

另一种方法是使用

git checkout -q "origin/$branch"
(doc)

但这有点残酷,因为它会抑制此

git checkout
的任何其他输出,因此它可能不适合您的特定上下文。

© www.soinside.com 2019 - 2024. All rights reserved.