В настоящее время всякий раз, когда я git pull
или git push
захожу в хранилище http (s), я получаю следующее:
$ git pull
Username for 'https://gitrepos.reposdomain.com': me@mydomain.com
Password for 'https://me@mydomain.com@gitrepos.reposdomain.com':
Это нормально для нечастого использования, но начинает очень раздражать. быстро. К сожалению, переключение на ssh в этом случае не вариант.
Я читал, что более ранние версии git
предоставляли учетные данные «store» и «cache», но это не было рекомендовано, потому что он хранил пароль в открытом тексте.
НО
Более новые версии git
, очевидно, хранят учетные данные git в gnome-keyring
, но это должно быть настроено правильно.
Я пытался следовать другим (не Ubuntu) ответам на SO, чтобы заставить это работать (а именно , этот ), но мне все еще предлагают приглашение имени пользователя и пароля.
Как правильно и безопасно хранить git
учетные данные для репозиториев http (s) и как заставить их работать в Ubuntu?
gnome-credential-helper
теперь удерживается от использования.
Вместо этого используйте libsecret. Если это не уже buil-в Ваша человечность, используйте следующую процедуру:
можно установить libsecret
и библиотеки разработки с:
sudo apt-get install libsecret-1-0 libsecret-1-dev
Затем необходимо создать менеджер учетных данных
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Наконец, необходимо указать мерзавец в недавно созданный файл в конфигурации:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Необходимо установить мерзавца credential helper
с Брелоком для ключей Gnome:
Установка и компиляция дьявол Брелока для ключей Gnome:
sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring
И установка учетные данные:
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
Этот простой подход, кажется, достаточен на моей Ubuntu 18.04.1 с мерзавцем 2.17.1:
git config --global credential.helper cache
Можно указать один час (=3600 секунд) тайм-аут как это:
git config --global credential.helper 'cache --timeout=3600'
Дополнительные материалы для чтения в прекрасном руководстве.