Есть ли способ заставить git запомнить пароль для пультов WebDAV? - PullRequest
59 голосов
/ 10 февраля 2010

Я работаю с Git, отправляя изменения в репозиторий, общий доступ к которому осуществляется через HTTP / WebDAV, и Git запрашивает пароль для каждой операции, которая обращается к удаленному HTTP. Есть ли какой-нибудь способ заставить Git кешировать пароль / удаленный сервер не запрашивает у меня сообщение?

Удаленный веб-сервер должен быть Apache и при необходимости может быть переконфигурирован.

Ответы [ 3 ]

61 голосов
/ 11 февраля 2010

Можно использовать ~ / .netrc, как описано в шаге 3 этой документации Git :

Затем добавьте следующее в ваш $ HOME / .netrc (Вы можете обойтись без, но будет предложено ввести свой пароль * лот раз):

machine <servername>
login <username>
password <password>

... и установить права доступа:

chmod 600 ~/.netrc

ОБНОВЛЕНИЕ:

Начиная с git 1.7.9, кажется, что можно пойти по пути к собственному API помощника по учетным данным.Git поставляется с открытым текстом хранилище учетных данных или менее удобным, но более безопасным временным кэшем учетных данных .Также можно использовать сторонние учетные данные помощников.До сих пор я знал о помощнике для собственного хранилища учетных данных Windows и , который интегрируется с цепочкой ключей OS X .(В сборке Git, поставляемой Homebrew, есть бинарный файл, как и в других дистрибутивах OS X Git. Github также предоставляет автономный двоичный файл .)

Как правило, его должно быть достаточноодин раз помощник по учетным данным:

git config --global credential.helper wincred

Или вместо wincred используйте тот помощник, который подходит для вашей платформы.(Если имя исполняемого файла помощника равно git-credential-wincred, значение, установленное для параметра, будет wincred и т. Д.)

Помощники по учетным данным также поддерживают необходимость иметь отдельные наборы учетных данных для различныхрепозитории на том же хосте.

29 голосов
/ 26 марта 2014

Запустите эту команду внутри вашего репо:

git config credential.helper store

Затем нажмите на сервер один раз:

git push

Учетные данные, которые вы используете для отправки на сервер, будут сохранены в ~/.git-credentials.

Инструкции взяты из этого руководства здесь .

17 голосов
/ 21 мая 2012

Почему вы не можете просто использовать пароль в удаленном URL?

$ git config remote.origin.url = http://username:password@origin_link.com/repository.git
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...