Git: Could not resolve host github.com error while cloning remote repository in git
Categories:
Resolving 'Could not resolve host github.com' Error in Git

Learn to diagnose and fix the common 'Could not resolve host github.com' error when cloning or interacting with Git repositories.
Encountering the error fatal: Could not resolve host: github.com
when trying to clone a repository, push changes, or fetch updates from GitHub can be a frustrating experience. This error indicates that your system is unable to translate the hostname github.com
into an IP address, which is a fundamental step for any network communication. This article will guide you through the common causes of this issue and provide practical solutions to get your Git operations working smoothly again.
Understanding Host Resolution
Before diving into solutions, it's crucial to understand what 'host resolution' means. When you type github.com
into your browser or use it in a Git command, your computer doesn't directly connect to that name. Instead, it needs to find the corresponding IP address (e.g., 140.82.112.4
) through a process called DNS (Domain Name System) resolution. If this process fails, your computer cannot locate the server, leading to the 'Could not resolve host' error.
flowchart TD A[Git Command (e.g., git clone)] --> B{"Resolve github.com IP?"} B -->|Yes| C[Connect to IP] C --> D[Successful Git Operation] B -->|No| E[DNS Server Lookup Failed] E --> F["Error: Could not resolve host github.com"]
Flowchart of Git Host Resolution Process
Common Causes and Solutions
The 'Could not resolve host' error typically stems from network configuration issues, DNS problems, or firewall restrictions. Here are the most common culprits and their respective fixes.
1. Check Your Internet Connection
The simplest explanation is often the correct one. Ensure your device is connected to the internet. Try opening a web browser and navigating to github.com
or any other website. If other sites also fail to load, your internet connection is the primary issue.
2. Verify DNS Configuration
Incorrect or unresponsive DNS servers are a frequent cause. You can test your current DNS resolution and try using public DNS servers like Google DNS or Cloudflare DNS.
3. Flush DNS Cache
Sometimes, your system's DNS cache might hold outdated or corrupted information. Flushing it can force your system to re-resolve hostnames.
4. Check Firewall and Proxy Settings
Firewalls (both software and hardware) or proxy servers can block outgoing connections to github.com
. Ensure that Git is allowed through your firewall and that any proxy settings are correctly configured.
5. Inspect hosts
File
The hosts
file on your system can override DNS lookups. An incorrect entry for github.com
could point it to the wrong IP or a non-existent one.
6. Test with ping
and nslookup
Use command-line tools like ping
and nslookup
(or dig
on Linux/macOS) to diagnose network connectivity and DNS resolution directly.
Practical Troubleshooting Commands
Here are the commands you can use to troubleshoot the issue on different operating systems.
Windows
# Check internet connectivity
ping github.com
# Flush DNS cache
ipconfig /flushdns
# Check DNS server configuration
ipconfig /all
# Test DNS resolution
nslookup github.com
# Open hosts file (run Notepad as administrator)
notepad C:\Windows\System32\drivers\etc\hosts
macOS / Linux
# Check internet connectivity
ping github.com
# Flush DNS cache (macOS specific, may vary by version)
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Check DNS server configuration
cat /etc/resolv.conf
# Test DNS resolution
nslookup github.com
# or
dig github.com
# Open hosts file
sudo nano /etc/hosts
Configuring Git for Proxy Servers
If you are behind a corporate proxy, Git needs to be explicitly configured to use it. This is a common scenario in enterprise environments.
git config --global http.proxy http://proxyuser:proxypass@proxy.server.com:port
git config --global https.proxy https://proxyuser:proxypass@proxy.server.com:port
# To unset the proxy:
git config --global --unset http.proxy
git config --global --unset https.proxy
Configuring Git to use an HTTP/HTTPS proxy
By systematically working through these steps, you should be able to identify and resolve the Could not resolve host github.com
error, allowing you to resume your Git workflows without interruption. Remember that network issues can be complex, so patience and methodical troubleshooting are key.