我正在寻找一种方法来安全地存储凭证,同时连接到使用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.
我有几个存储库,显然我正在使用 GitHub 密码身份验证的缓存版本。我最近才了解到这一点,因为 GitHub 停止支持密码,而是需要个人访问令牌 (PAT) 或 SSH 密钥。
对于拉取或推送的所有私有存储库,我会收到以下消息:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/villano-lab/CEvNS.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
我通过查看这篇文章解决了这个问题。根据该信息,我推断我应该检查我的参数credential.helper。通过做:
git config --list
Run Code Online (Sandbox Code Playgroud)
我发现它被设置为“存储”,如下所示:
credential.helper=store
Run Code Online (Sandbox Code Playgroud)
所以我所做的就是这样设置的:
git config credential.helper ""
Run Code Online (Sandbox Code Playgroud)
这样做的目的是让我再次输入我的用户名和密码(而不是由 git 客户端以默认方式提供)。然后,我能够创建 GitHub 个人访问令牌并在密码字段中使用它,并且满足新的 GitHub 要求,并且我没有收到错误。
问题是,我如何使其永久化?例如,如何将 PAT 放入 git 客户端缓存中,这样我就不必像以前一样再次输入它?截至目前,如果我回到:
git config credential.helper store
Run Code Online (Sandbox Code Playgroud)
它将恢复为旧密码,GitHub …
我不久前在GitHub上设置了2 因素身份验证。因此,一旦我在命令行中工作并想推送到我的存储库。我输入了用户名和密码,但失败并出现如下错误
USERNAME@MYCOMPUTER:~/MyRepo$ git push
Username for 'https://github.com': GitHubUsername
Password for 'https://GitHubUsername@github.com': GitHubPassword
remote: Invalid username or password.
fatal: Authentication failed for '
https://github.com/GitHubUsername/MyRepo/'
Run Code Online (Sandbox Code Playgroud)
因此,我阅读了这篇文章并得到了解决方案,我必须生成个人访问令牌才能推送任何内容。很好,但我认为这是一个有点困难的过程,因为首先我不记得大量的令牌,其次在文本文件中存储访问密钥并不是一件安全的事情。
因此,如果有人能够提供一个简单的解决方案来推送到我的存储库而不禁用 2FA,那就太好了。- 谢谢!
通过在远程推送网址中添加用户名:密码,可以避免推送到github时的密码提示.
https://you:password@github.com/you/example.git
Run Code Online (Sandbox Code Playgroud)
这是github特定的安排还是可以使用这种格式(https://username:password@somedomain.org/repo.git)与任何git遥控器?
我正在尝试使用 Git 命令行登录,以便可以将更改推送到我拥有的存储库。我通常使用与我现在正在尝试使用的帐户不同的帐户,并且在那里推送工作正常。终端是集成到 Visual Studio Code 中的终端,它是 Git Bash。
我想要做的是登录这个不同的帐户,然后从该帐户推送。我记得有一次有一个弹出窗口,上面有一个登录框。我怎样才能让这个再次出现?
到目前为止,我已经尝试使用以下命令:
git config user.name my-name
git config user.email my-email
这似乎没有要求任何凭据。在谷歌搜索(刚刚)时,它们似乎只是用来设置我的提交用户名。
那么如何从 Git 命令行登录呢?我已经坚持了很长时间,我觉得可能有一个非常简单的解决方案。
任何帮助将不胜感激。
我相信这是一个简单的问题,但我添加了一个文件夹,就像本指南面向的Origin Master一样。
我创建了一个文件backupgit.cron,并在其中包含以下命令:
cd /var/bkpfolder/
git add .
git commit -m "another commit"
git push origin master
Run Code Online (Sandbox Code Playgroud)
我添加了以下crontab -e行:
30 * * * * /var/bkpfolder/backupgit.cron
Run Code Online (Sandbox Code Playgroud)
问题是,我添加来测试这个 crontab 的(新)文件永远不会上传...如果我手动运行命令,backupgit.cron它们就会起作用。
origin master我相信这与转到文件夹(cd /var/bkpfolder/?)执行推送命令有关,所以我正在寻找的是执行推送命令到/bkpfolder/中所述的正确方法backupgit.cron
提前致谢!
截至今天,GitHub 似乎已通过命令行禁用密码,而是需要个人访问令牌,因为在尝试推送提交时出现此错误: "remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead."
我去生成了一个个人访问令牌,但我看过的大多数教程都说你基本上应该再次重新克隆 repo,然后在你再次提交之前使用你的个人访问令牌“登录”。
但是,我有很多使用旧密码方法的存储库,我不想重新克隆每一个。有没有办法在我当前的存储库中以某种方式告诉 Git,“嘿,我想更改登录密码”。我希望当我推送时我会自动再次提示我输入密码,但我只是收到了上面的错误消息,我不知道如何在不重新克隆和尝试推送的情况下重新输入我的登录信息再次。
我试过了,git config --global --unset user.password但这似乎没有解决问题。
谢谢
我在几个 Stack Overflow 答案中看到git config user.password推荐作为保存 git 用户凭据的方法。
在 Git Bash 中重新输入用户名和密码以访问 Github
user.password但是,我在Git 文档中找不到任何提及,只有user.name和user.email。所有答案似乎都没有链接到有关其具体用途或如何使用它的资源。
什么是git config user.password以及如何使用它?它是配置凭据管理器的替代方法,还是有什么不同?
我已经在 Windows 7 64 位中很好地设置了 GitforWindows,并将凭据管理器设置为“Wincred”。
然而,当我运行一些命令(例如git remote prune origin在 GitBash 中)时,它会在控制台中给出以下错误,但运行命令:
Failed to load advapi32.dll
Run Code Online (Sandbox Code Playgroud)
这是为什么 ?如果需要对凭据管理器设置进行某些操作,那么我需要完整解释如何进行这些设置以及每个设置的含义。
注意:我仅在某些命令上遇到此问题,其他命令运行正常,没有任何错误。