Ric*_*ald 22 linux git ubuntu gnome-keyring-daemon
我正在寻找一种方法来安全地存储凭证,同时连接到使用SSL的Git服务器.我在@james-ward中遇到了这个建议(我编辑的只是我更新了我们的"系统"配置,而不是Git的"全局"配置(/sf/answers/1016985231/)
sudo apt-get install libgnome-keyring-dev
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --system credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
Run Code Online (Sandbox Code Playgroud)
然后我就可以跑了
git clone https://ipaddress/git/repo.git
Run Code Online (Sandbox Code Playgroud)
并且凭证助手将存储我的凭据,但是当我运行以下内容时:
sudo git clone https://ipaddress/git/repo.git testfolder
Run Code Online (Sandbox Code Playgroud)
它给我以下错误
** (process:3713): CRITICAL **: Error communicating with gnome-keyring-daemon
Run Code Online (Sandbox Code Playgroud)
我有时需要运行sudo git clone,因为有时我需要创建克隆的目录需要它.任何帮助,将不胜感激.
我正在使用的版本: - git版本1.9.1 - Ubuntu Server 14.0.4
先感谢您!-Richard O.
Von*_*onC 72
除了使用sudo之外,请注意,在2016年,libgnome-keyring特定于GNOME,现在已弃用(实际上自2014年1月起).
Git 2.11 +(2016年第4季度)将包括一个新的凭证助手使用libsecret.
见提交87d1353通过(2016年10月9日)曼塔斯Mikulėnas( )grawity.
(由Junio C gitsterHamano合并- -在 bfe800c承诺中,2016年10月26日)
通过" libsecret "与XDG特勤服务API的实现进行对话的新凭证助手已被添加到
contrib/credential/.它用于
libsecret支持XDG Secret Service API的其他实现.
您可以使用以下命令安装libsecret和开发库:
sudo apt-get install libsecret-1-0 libsecret-1-dev
然后,您需要构建凭据管理器
cd /usr/share/doc/git/contrib/credential/libsecret(如果未自动安装,请从源中复制凭证/ libsecret文件夹)
sudo make
最后,你应该将git指向配置中新创建的文件:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
值得注意的是,像Arch和Fedora这样的一些发行版提供了二进制和源代码的帮助程序.
- Arch上的Libsecret二进制文件:
/usr/lib/git-core/git-credential-libsecret和- Fedora上的Libsecret二进制文件:
/usr/libexec/git-core/git-credential-libsecret.
使用sudoroot 身份运行该命令。这就像要求您的系统管理员(如果有的话)为您运行命令。该root用户不打算执行任何与开发相关的操作,因此git不打算以 root 身份使用。
一旦您以另一个用户(root 或任何其他用户)身份运行命令,预计该其他用户将无法与您常用的用户正常通信(特别是,它在这里找不到您的 gnome-keyring-daemon)。
所以,答案是:“不要这样做”。如果您确实需要在特定目录中克隆,请按照 CodeWizard 的答案中的建议授予自己该目录的权限。实际上,如果您需要克隆到没有权限的目录中,请问问自己是否做错了什么:原则上,这种情况不应该发生(我的猜测是:您过去已经使用了sudo太多的内容,而这这就是为什么你到处都有可写目录的原因)。
我有时需要运行 sudo git clone 因为有时我需要进行克隆的目录需要它。任何帮助,将不胜感激
您尝试将存储库克隆到的文件夹是由 root 创建的,因此您无权在该文件夹下写入或创建文件夹,除非您是 root ( sudo),设置权限 (chmod或chown) 并且您将能够克隆到文件夹。
chmod 755 /path
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16819 次 |
| 最近记录: |