You may need to configure a proxy server if you're having trouble cloning or fetching from a remote repository or getting an error like unable to access '...' Couldn't resolve host '...'.
unable to access '...' Couldn't resolve host '...'
Consider something like:
git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
Or for a specific domain, something like:
git config --global http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port git config --global http.https://domain.com.sslVerify false
Setting http.<url>.sslVerify to false may help you quickly get going if your workplace employs man-in-the-middle HTTPS proxying. Longer term, you could get the root CA that they are applying to the certificate chain and specify it with either http.sslCAInfo or http.sslCAPath.
http.<url>.sslVerify
false
http.sslCAInfo
http.sslCAPath
See also the git-config documentation, especially the following sections if you're having HTTPS/SSL issues
http.sslVerify
http.sslCert
http.sslKey
http.sslCertPasswordProtected
You can configure these globally in your user ~/.gitconfig file using the --global switch, or local to a repository in its .git/config file.
~/.gitconfig
--global
.git/config
Configure a global proxy if all access to all repos require this proxy
If you wish to specify that a proxy should be used for just some URLs that specify the URL as a git config subsection using http.<url>.key notation:
http.<url>.key
git config --global http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
Which will result in the following in the ~/.gitconfig file:
[http] [http "https://domain.com"] proxy = http://proxyUsername:proxyPassword@proxy.server.com:port
If you're still having trouble cloning or fetching and are now getting an unable to access 'https://...': Unknown SSL protocol error in connection to ...:443 then you may decide to switch off SSL verification for the single operation by using the -c http.sslVerify=false option
unable to access 'https://...': Unknown SSL protocol error in connection to ...:443
-c http.sslVerify=false
git -c http.sslVerify=false clone https://domain.com/path/to/git
Once cloned, you may decide set this for just this cloned repository's .git/config by doing. Notice the absence of the --global
git config http.sslVerify false
If you choose to make it global then limit it to a URL using the http.<url>.sslVerify notation:
git config --global http.https://domain.com.sslVerify false
[http] [http "https://domain.com"] proxy = http://proxyUsername:proxyPassword@proxy.server.com:port sslVerify = false
To show the current configuration of all http sections
http
git config --global --get-regexp http.*
If you are in a locally cloned repository folder then you drop the --global and see all current config:
git config --get-regexp http.*
Use the --unset flag to remove configuration being specific about the property -- for example whether it was http.proxy or http.<url>.proxy. Consider using any of the following:
--unset
http.proxy
http.<url>.proxy
git config --global --unset http.proxy git config --global --unset http.https://domain.com.proxy git config --global --unset http.sslVerify git config --global --unset http.https://domain.com.sslVerify