Git (HTTPS и SSH)

клонирование по HTTPS использует http.proxy, по SSH — ProxyCommand, при необходимости через порт 443.

HTTPS

bash
# глобально
git config --global http.proxy http://127.0.0.1:7898
# только для GitHub (рекомендуется)
git config --global http.https://github.com.proxy http://127.0.0.1:7898
# сбросить
git config --global --unset http.proxy
git config --global --unset http.https://github.com.proxy

Если задана переменная окружения https_proxy, Git тоже её использует.

SSH (git@github.com)

SSH не читает переменные HTTP-прокси, поэтому настройте ProxyCommand в ~/.ssh/config.

macOS / Linux:

sshconfig
Host github.com
  HostName ssh.github.com
  Port 443
  User git
  ProxyCommand nc -X 5 -x 127.0.0.1:7898 %h %p

Windows (в Git for Windows есть connect):

sshconfig
Host github.com
  HostName ssh.github.com
  Port 443
  User git
  ProxyCommand connect -S 127.0.0.1:7898 %h %p
Внимание

ssh.github.com:443 — официальный порт GitHub для SSH поверх HTTPS, подходит для сетей с ограничением порта 22.
В Linux nc должен быть версией OpenBSD (пакет netcat-openbsd в Debian/Ubuntu), чтобы поддерживать -X.

Проверка:

bash
ssh -T git@github.com

Советы для больших репозиториев

bash
git clone --depth 1 https://github.com/owner/repo          # поверхностное клонирование
git clone --filter=blob:none https://github.com/owner/repo # загрузка содержимого файлов по требованию