$ErrorActionPreference = 'Stop'는 이름이 뭐라고 하든 set -e가 아니에요. git 같은 네이티브 명령이 0이 아닌 코드로 끝나도 스크립트는 그냥 다음 줄로 가고, 코드는 $LASTEXITCODE에 얌전히 앉아 있어요. $PSNativeCommandUseErrorActionPreference = $true로 두면 0이 아닌 종료가 오류가 되고, 그제야 Stop이 멈춰요. 기본값은 $false예요. 저는 그걸 한참 헤맨 끝에 알았어요.