You can embed PowerShell script directly inside the hook file. Here is an example of a pre-commit
hook I've used:
#!/usr/bin/env pwsh
# Verify user's Git config has appropriate email address
if ($env:GIT_AUTHOR_EMAIL -notmatch '@(non.)?acme.com$') {
Write-Warning "Your Git email address '$env:GIT_AUTHOR_EMAIL' is not configured correctly."
Write-Warning "It should end with '@acme.com' or '@non.acme.com'."
Write-Warning "Use the command: 'git config --global user.email <[email protected]>' to set it correctly."
exit 1
}
exit 0
This example requires PowerShell Core but as a result it will run cross-platform (assuming this file has been chmod +x on Linux/macOS).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…