diff --git a/Library/Homebrew/utils/git.rb b/Library/Homebrew/utils/git.rb
index 5925a7b07f0168514a774fcd1b77ff53bc48dc63..334a2c7281aa04e4890ba69122d9825d7882ca73 100644
--- a/Library/Homebrew/utils/git.rb
+++ b/Library/Homebrew/utils/git.rb
@@ -93,8 +93,14 @@ module Utils
       if CoreTap.instance.installed?
         begin
           oh1 "Installing #{Formatter.identifier("git")}"
-          safe_system HOMEBREW_BREW_FILE, "install", "git"
-          clear_available_cache
+
+          # We need to unset `HOMEBREW_TEST_GENERIC_OS`, otherwise `git` will be
+          # installed from source in tests that need it. This is slow and will
+          # also likely fail due to `OS::Linux` and `OS::Mac` being undefined.
+          with_env "HOMEBREW_TEST_GENERIC_OS" => nil do
+            safe_system HOMEBREW_BREW_FILE, "install", "git"
+            clear_available_cache
+          end
         rescue
           raise "Git is unavailable"
         end