Properly escape commit SHA using escapeshellarg() before passing it to shell commands. Add comprehensive tests for git commit rollback scenarios including shallow clone, fallback behavior, and HEAD handling.
- setGitImportSettings() now accepts optional $commit parameter - Uses passed commit over application's git_commit_sha (typically HEAD) - Fixes rollback deploying latest instead of selected commit - Also fixes shallow clone "bad object" error on rollback Fixes #8445