The build kept failing, and no one knew why.
It wasn’t the code. It wasn’t the network. It was Git rejecting every push, a silent wall built on a TLS configuration that no longer matched the server’s rules. Hours went into chasing ghosts before the root cause appeared in the logs. A TLS handshake failure. A broken line between the local repo and the remote origin.
What is Git TLS configuration and why it breaks
Git uses TLS (Transport Layer Security) to encrypt communication between your machine and the remote repository. It depends on your operating system’s SSL/TLS libraries and certificates. When these libraries change — after an OS update, a certificate renewal, or server migration — your Git commands can start failing with errors like:
fatal: unable to access 'https://...': SSL certificate problem: unable to get local issuer certificate
or
gnutls_handshake() failed: A TLS fatal alert has been received.
Resetting Git’s TLS configuration puts you back in sync with the remote server’s requirements.
When to reset Git TLS configuration
You should reset when:
- You’ve updated your operating system and Git fails on HTTPS remotes.
- A self-signed certificate has been replaced or expired.
- Remote servers have upgraded TLS protocols or cipher suites.
- Your local CA bundle is corrupted or outdated.
How to reset Git TLS configuration
- Update Git
Make sure you are running a current version of Git.
git --version
Install the latest from your package manager or build from source if needed.
- Refresh certificates
On Linux:
sudo update-ca-certificates
On macOS:
security find-certificate -a -p /Library/Keychains/System.keychain > ~/Desktop/certs.pem
or use brew to reinstall openssl and link it to Git.
- Set Git’s SSL backend
For systems using OpenSSL instead of GnuTLS:
git config --global http.sslbackend openssl
- Clear cached TLS settings
git config --global --unset http.sslCAinfo
git config --global --unset http.sslCApath
- Test connection
GIT_CURL_VERBOSE=1 git ls-remote https://your.repo.url
Check for a clean handshake in the output.
Best practices for stable Git TLS connections
- Keep your CA certificates updated.
- Use HTTPS remotes with valid certificates from trusted authorities.
- Avoid disabling certificate checks except in controlled, short-term troubleshooting.
- Maintain alignment between server-side TLS policy and local Git settings.
Speed matters
Teams lose momentum when TLS misconfigurations break Git. Every push blocked is a roadblock to delivery. Resetting TLS configuration is not just fixing a technical glitch — it’s restoring flow.
The fastest way to see your Git workflows live, with secure TLS and modern CI/CD pipelines, is to run them now on hoop.dev. No waiting for infra tickets. No downtime for resets. Just push your code and watch it run in minutes.