Работа с git за прокси-сервером

Я за прокси. Чтобы получить git работу, мне пришлось бы добавить

proxy = http://username:[email protected]:8080

до .gitconfig.

Так как username и password - мои системные учетные данные, это решение отстойно, потому что я должен был бы хранить их как cleartext.

Я использую Google Chrome, где мне не нужно устанавливать какие-либо настройки прокси-сервера, потому что он использует настройки прокси-сервера.

Как это сделать с помощью git?

Ответы

Ответ 1

Обновление февраля 2016 года:

С git 2.8 (март 2016) вам не нужно вставлять текст в свой текст в URL.

См. commit 372370f, commit ef97639 ( 26 января 2016 г.) Кнут Франке (` `).
Помощник: Junio ​​C Hamano (gitster), Эрик Sunshine (sunshinebell28) и Elia Pinto (devzero2000).
(слияние Юнио С Хамано - gitster - в совершить 30f302f, 03 февраля 2016 г.)

http: использовать API учетных данных для проверки подлинности прокси-сервера

В настоящее время единственным способом передачи учетных данных прокси для зависания является включение их в URL-адрес прокси. Обычно это означает, что они попадут на диск незашифрованным, так или иначе (путем включения в ~/.gitconfig, профиля оболочки или истории).
Поскольку аутентификация прокси-сервера часто использует пользователя домена, учетные данные могут быть чувствительными к безопасности; поэтому желательно более безопасный способ передачи учетных данных.

Если настроенный прокси содержит имя пользователя, но не пароль, запросите credential API для одного. Кроме того, убедитесь, что мы одобряем/отклоняем учетные данные прокси-сервера должным образом. Итак:

В дополнение к синтаксису, понятному curl, можно указать строку прокси-сервера с именем пользователя, но без пароля, и в этом случае git будет пытаться получить один так же это делается для других учетных данных.
Подробнее см. gitcredentials.
Синтаксис таким образом:

[protocol://][user[:password]@]proxyhost[:port]

Это может быть отменено на основе удаленного доступа; см. remote.<name>.proxy.


Обновление от 2015 г.

Начиная с git 1.8.0 и commit 7bcb747, помощник учетных данных Windows по умолчанию - wincred, вспомогательный помощник git, который взаимодействует с диспетчером учетных данных Windows.

 git config --global credential.helper wincred

Оригинальный ответ (март 2013):

Вы можете использовать вспомогательный помощник (git1.7.9 +), например git-credential-winstore в Windows, чтобы сохранить ваши учетные данные.
Вы объявите его с помощью "git config --global credential.helper winstore".
Затем вы можете объявить свой прокси без указания имени пользователя и пароля:

git config --global http.proxy http://proxy.server.com:8080

(хотя я предпочитаю использовать переменные окружения http_proxy и https_proxy)

См. также " git: 'credential-cache' не является командой git