diff --git a/pre_commit/util.py b/pre_commit/util.py
index <HASH>..<HASH> 100644
--- a/pre_commit/util.py
+++ b/pre_commit/util.py
@@ -76,8 +76,11 @@ def no_git_env():
     # while running pre-commit hooks in submodules.
     # GIT_DIR: Causes git clone to clone wrong thing
     # GIT_INDEX_FILE: Causes 'error invalid object ...' during commit
+
+    # list of explicitly whitelisted variables
+    allowed_git_envs = ['GIT_SSH']
     return {
-        k: v for k, v in os.environ.items() if not k.startswith('GIT_')
+        k: v for k, v in os.environ.items() if not k.startswith('GIT_') or k in allowed_git_envs
     }
Adds whitelist for GIT_* env vars containing only GIT_SSH