Git 1.8.0 поддерживает интеграцию с gnome-keyring.
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
После прочтения документации о помощниках по учетным данным git: http://git-scm.com/docs/gitcredentials.html
Мне не удалось найти способ использовать эту новую функцию. Как я могу это интегрировать? Я использую Archlinux с git, установленным из репозитория Archlinux. (git 1.8.0)
git help -a | grep credential-
и посмотреть, установлены ли у вас другие помощники. По умолчанию используются следующие параметрыcredential-cache
(запомните пароль в течение некоторого времени после его ввода, по умолчанию 15 минут) иcredential-store
( по умолчанию просто сохраните пароль в виде открытого текста в незашифрованном файле на диске~/.git-credentials
).chmod 0755 git-credential-gnome-keyring
добавить разрешение на выполнение для других пользователей, кроме rootGit 1.8.0 поставляется с поддержкой gnome-keyring, но двоичный файл необходимо скомпилировать для вашей платформы.
Вот что решило это для меня в Archlinux:
Решение @VonC было близко, но команда git config должна указывать на исполняемый файл. Вот почему у меня это не сработало.
источник
Package gnome-keyring-1 was not found in the pkg-config search path.
вам не хватает библиотек разработчика для gnome-keyring. В Ubuntu они доступны с расширениемapt-get install libgnome-keyring-dev
. Кроме того, мне пришлось вручную загрузить репозиторий git contrib с github.com/git/git/tree/master/contrib и поместить его в / usr / share / git-core /. Эти файлы больше не входят в стандартную установку git, по крайней мере, с использованием официального git-core ubuntu ppa.git-credential-gnomekeyring
исчез, и жаль, что в AUR такой информации нет./usr/share/
... только gitweb и git-core. Но я использую Git 1.7.9. Может быть, поэтому ...?libgnome-keyring
достаточно простой установки (по крайней мере, если вы используете gnome).Обновление Q4 2016:
Unix, Mac (Git 2.11+)
(См. « Ошибка при использовании помощника по учетным данным Git с
gnome-keyring
»)Окна:
(См. « Как выйти из консоли Git Bash в Windows? »: Это Git для Windows с использованием последней версии Microsoft Git Credential Manager для Windows )
Оригинальный ответ (2012)
Помощники по учетным данным для платформ Windows, Mac и Unix были впервые представлены в репозитории "git-credential-helper" , который теперь включен в дистрибутив git :
при сборке он будет установлен в
/path/to/git/credential
каталог.(здесь для Unix):
Примечание для Windows:
Я полагаю, вы могли бы создать программу, работающую в Windows и вызывающую библиотеку типа pypi keyring 0.10 .
Но это внутренняя часть, и вы не используете ее напрямую из Git.
Вы используете «помощника по учетным данным» (который, в свою очередь, будет вызывать любой API учетных данных в Windows ).
GitHub для Windows предоставляет такой помощник (в виде исполняемого файла с именем ... github) и может хранить ваши учетные данные на время сеанса Windows.
Запустите оболочку из окна «GitHub для Windows», и вы увидите, набрав «git config --system -l»:
credential.helper=!github --credentials
Часть будет вызывать удостоверение помощника «github
».источник
Обновление октябрь 2018 г.
GNOME устарел libgnome-keyring и заменил его libsecret. Коммит https://github.com/git/git/commit/87d1353a6a добавил новый помощник по учетным данным / usr / libexec / git-core / git-credential-libsecret.
git config --global credential.helper libsecret
источник
gnome-keyring
основанные ответы должны быть соответственно отредактированы. Может просто исключить весь вариант. У меня это совсем не сработало на Ubuntu 19.10.Для всех, кто пользуется Fedora, я немного отредактировал ответ Джеймса Уорда:
источник
/usr/libexec/git-core/git-credential-gnome-keyring
.git config --global credential.helper gnome-keyring
Просто добавьте эти две строки в свой
~/.gitconfig
файл:В следующий раз, когда Git попросит вас ввести пароль, введенный пароль будет сохранен в Gnome Keyring (вы можете увидеть это с помощью
seahorse
инструмента), и после этого вам больше не потребуется пароль.Это предполагает, что ваша версия Git достаточно новая (например, 2.1.0) и вы используете
LinuxFedora, RHEL или CentOS. Для более старых версий или других ОС / дистрибутивов ознакомьтесь с другими ответами.источник
git: 'credential-gnome-keyring' is not a git command.
Некоторые дистрибутивы поставляются с этой интеграцией в виде установочного пакета, не требующего компиляции. В зависимости от вашей версии GNOME вам потребуется установить одну
gnome-keyring
или несколькоlibsecret
версий пакета, напримерgit-credential-gnome-keyring
(OpenSUSE Leap 42.3).Однако это само по себе не позволит автоматически интегрировать Git с связкой ключей GNOME. Вы все равно должны настроить Git для использования этого метода хранения учетных данных:
источник
gnome-keyring
опция больше не работает для меня, но инструкция Джеймса Варда по-libsecret
прежнему работает хорошо. Однако меня смутила рекомендация использоватьgnome-keyring
данную здесь: github.com/timhughes/git-credential-libsecretlibsecret
(или чтоfind /usr -iname git-credential-libsecret
дает) - правильный вариант в Gentoo Linux. Обратите внимание на то, чтоdev-vcs/git
необходимо установить расширениеUSE=gnome-keyring
.В Fedora вам необходимо установить
и отредактируйте конфигурацию git, чтобы использовать помощник по учетным данным.
К вашему сведению,
libsecret
пакет недавно был разделен, см. Сообщение от @rugk . Вот почему пользователям необходимо переустановить этот пакет.источник