chore(start.ps1): 移除 Git 自动安装逻辑
Some checks are pending
Test start.ps1 (Windows) / test-windows (push) Waiting to run

部署脚本不依赖本机 git,winget/choco 安装与 PATH 刷新已无必要。

Made-with: Cursor
This commit is contained in:
wangbolhr 2026-04-10 16:44:58 +08:00
parent 3b7b06e06f
commit b63318709e

View File

@ -151,81 +151,6 @@ function Setup-EnvFiles {
Ok ".env configured for IP=$($script:DeployIP)"
}
function Test-GitInstalled {
$git = Get-Command git -ErrorAction SilentlyContinue
if (-not $git) { return $false }
try { & git --version *> $null; return $true } catch { return $false }
}
function Refresh-SessionPath {
try {
$machine = [Environment]::GetEnvironmentVariable("Path", "Machine")
$user = [Environment]::GetEnvironmentVariable("Path", "User")
$parts = @($machine, $user) | Where-Object { $_ }
if ($parts.Count -gt 0) { $env:Path = ($parts -join ";") }
} catch { }
}
function Install-Git {
if (Get-Command winget -ErrorAction SilentlyContinue) {
Step "Installing Git via winget..."
Write-Log "winget install Git.Git"
winget install --id Git.Git -e --accept-source-agreements --accept-package-agreements
if ($LASTEXITCODE -eq 0) {
Start-Sleep -Seconds 2
Refresh-SessionPath
if (Test-GitInstalled) {
Ok "Git installed"
Write-Log "Git available after winget (PATH refreshed)"
return
}
Ok "Git installed. Close this terminal, open a new one, then run this script again."
Write-Log "Git installed via winget, user must refresh shell"
exit 0
}
}
if (Get-Command choco -ErrorAction SilentlyContinue) {
Step "Installing Git via Chocolatey..."
Write-Log "choco install git"
choco install git -y
if ($LASTEXITCODE -eq 0) {
Start-Sleep -Seconds 2
Refresh-SessionPath
if (Test-GitInstalled) {
Ok "Git installed"
Write-Log "Git available after choco (PATH refreshed)"
return
}
Ok "Git installed. Close this terminal, open a new one, then run this script again."
Write-Log "Git installed via choco, user must refresh shell"
exit 0
}
}
Warn "Could not install Git automatically. Please install manually:"
Write-Host " https://git-scm.com/download/win"
Write-Log "Git auto-install failed, user must install manually"
Wait-ForExit
exit 1
}
function Ensure-Git {
if ($env:DEPLOY_SKIP_GIT -eq "1") { return }
if ($env:CI -eq "true") { return }
if ($script:DeployDryRun) { return }
if (Test-GitInstalled) {
Ok "Git installed"
return
}
Write-Host ""
Write-Host "================================"
Write-Host " Git Check"
Write-Host "================================"
Write-Host ""
Warn "Git not found. Attempting automatic install..."
Write-Log "Git missing, running Install-Git"
Install-Git
}
function Test-DockerInstalled {
$docker = Get-Command docker -ErrorAction SilentlyContinue
if (-not $docker) { return $false }
@ -346,7 +271,6 @@ function Start-Services {
function Main {
Init-ProjectDir
Ensure-Git
if ((Test-Path ".env") -and -not $env:DEPLOY_FORCE_RECONFIG -and -not $env:DEPLOY_IP) {
$answer = (Read-Host "Existing .env found. Reconfigure? [y/N]").Trim().ToLower()