Есть ли способ заставить git запомнить пароль для пультов дистанционного управления WebDAV?
Я работаю с Git, нажимая изменения в репозитории, совместно используемом через HTTP / WebDAV, и Git запрашивает пароль для каждой операции, которая обращается к удаленному HTTP. Есть ли способ сделать git cache паролем / чтобы удаленный сервер не запрашивал меня?
удаленный веб-сервер должен быть Apache и при необходимости может быть перенастроен.
3 ответа:
способ заключается в использовании~/.netrc, как описано в шаге 3 из это git документация:
затем добавьте следующее в свой $HOME/.netrc (можно обойтись и без него, но будет просят ввести пароль a много раз):
machine <servername> login <username> password <password>
...и установить разрешения:
chmod 600 ~/.netrc
обновление:
по состоянию на git 1.7.9, кажется, что путь будет родной credential helper API. ГИТ приходит с открытый текст хранилище или менее удобный, но более безопасный временный кэш учетных данных. Также можно использовать сторонние помощники учетных данных. До сих пор я в курсе помощник для собственного хранилища учетных данных Windows и тот, который интегрируется с OS X keychain. (Git build, поставляемый Homebrew, имеет двоичный файл для него, как и другие дистрибутивы OS X Git. Github также предоставляет автономный двоичный.)
как правило, достаточно один раз настроить помощник по учетным данным:
git config --global credential.helper wincred
и вместо
wincred
, используйте тот помощник, который подходит для вашей платформы. (Если имя исполняемого файла помощникаgit-credential-wincred
, значение, которое вы установите для параметра будетwincred
и т. д.)помощники учетных данных также поддерживают необходимость иметь отдельные наборы учетных данных для разных репозиториев на одном хосте.
выполните эту команду в вашем РЕПО:
git config credential.helper store
затем нажмите на сервер один раз:
git push
учетные данные, которые вы используете для отправки на сервер, будут сохранены в
~/.git-credentials
.инструкции взяты из этого руководства здесь.