Normally, git doesn't need to set curl to select the HTTP version, it works fine without HTTP2. Adding HTTP2 support is a icing on the cake. When http.version=20 is set, git will attempt to request the server using HTTP2. If the remote server does not support HTTP2, it is no different. Currently bitbucket supports HTTP2 and is available for testing. example: GIT_CURL_VERBOSE=1 git2 -c http.version=20 ls-remote https://bitbucket.org/aquariusjay/deeplab-public-ver2.git Force Charlie (1): http: add support selecting http version http.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) base-commit: 8858448bb49332d353febc078ce4a3abcc962efe Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-69%2Ffcharlie%2Fmaster-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-69/fcharlie/master-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/69 -- gitgitgadget