Каков правильный способ использования git с gnome-keyring и http (s) repos?

17

В настоящее время, когда я git pull или git push в репозитории http (s), я получаю следующее:

$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com': 

Это нормально для редкого использования, но начинает очень раздражать очень быстро. К сожалению, переход на ssh в этом случае не является опцией.

Я читал, что более ранние версии git предоставили учетные данные «store» и «cache», но это не рекомендуется, поскольку он хранит пароль в открытом тексте.

НО

Более новые версии git , по-видимому, хранят учетные данные git в gnome-keyring , но должны быть установлены правильно.

Я пробовал следовать другим (не-Ubuntu) ответам на SO, чтобы заставить это работать (а именно этот ), но мне все еще предъявлено приглашение имени пользователя и пароля.

Каков правильный и безопасный способ хранения git учетных данных для http (s) repos и как заставить их работать на Ubuntu?

    
задан tudor 17.05.2016 в 02:12
источник

2 ответа

27

Вам нужно настроить git credential helper с помощью Gnome Keyring:

Установите и скомпилируйте Gnome Keyring devel:

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
    
ответ дан user98829 23.05.2016 в 13:14
источник
8

gnome-credential-helper теперь устарела.

Вместо этого используйте libsecret. Если он еще не создан в вашей ubuntu, используйте следующую процедуру:

  1. Вы можете установить libsecret и библиотеки разработки с помощью:

    sudo apt-get install libsecret-1-0 libsecret-1-dev

  2. Затем вам нужно создать диспетчер учетных данных

    cd /usr/share/doc/git/contrib/credential/libsecret

    sudo make

  3. Наконец, вы должны указать git на вновь созданный файл в вашем config:

    git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

Подробнее о Ссылка

    
ответ дан eddygeek 26.09.2017 в 18:31