问题标签 [git-credential-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git 使用 HTTPS 推送凭据和权限
我的问题与使用 HTTPS 的 git 推送有关。HTTPS 推送请求接受有效的登录名和密码。但是,这些凭据可以与提交中使用的凭据完全取消链接。
有没有办法使用与上次推送的提交不同的凭据来阻止 HTTPS 推送?
或者,仅 SSH 身份验证会阻止这种情况发生吗?
git - 同一个域,多个没有 ssh 的 git 帐户
我试图寻找一种使用 git config 匹配路径的方法。我只发现(并测试了)此处链接中提到的一些内容,等等。多个 git 帐户:不使用 .ssh/config 或 SSH 代理
我也通读了https://git-scm.com/docs/gitcredentials但要么不了解如何使用这些通配符,要么它们没有像我想象的那样工作。我目前有这个设置:
为他们使用 ssh 效果很好,但我记得在防火墙等后面可能会出现问题。
如果我可以匹配 git 的路径并将所有与其匹配的路径分组以使用相同的凭据,那就太好了。但也许我没有看到这个问题。如果我做错了什么,请告诉我!
预先感谢您。
git - .gitcredentials 与 .git-credentials
我选择使用基于文件的 git-credential-store。也就是说,我的凭据~/.git-credentials
按文档保存。(我使用的是 Windows 10)
但是,我可以看到该文件夹现在有两个相同的文件,.git-credentials
而.gitcredentials
. 删除一个会使另一个重新出现。所以我问:
- 是不是异常情况?谷歌搜索我只找到 1 个默认文件
- 为什么会这样?(也许是我的机器特有的东西?)
- 有没有办法只保留一个文件?(.git-credentials 似乎是“正确的”)
go - git credential.helper 而不是 .netrc 来获取依赖项
为了兑现go依赖项,我使用连接到专用网络之外的服务器(因为无法直接从 获取依赖项)的nexus(作为goproxy )。goproxy
nexus
GitHub
nexus.some.repo.com:4443/repository/go-nexus-proxy ➡️gonexus.dev nexus.some.repo.com:4443/repository/go-proxy ➡️proxy.golang.org ...
我使用.netrc
文件连接到nexus
我可以用git credential.helper
代替.netrc
❓</p>
如果是我该 如何配置git credential.helper
❓</p>
git - 在 Azure DevOps 管道中使用 GitPython 会导致 'git:'credential-manager-core' 不是 git 命令
当我们在 Azure DevOps 中使用 GitPython 并尝试推送到存储库时,会出现以下消息(与管道克隆的存储库相同):
基础设施:GitHub、Windows 构建机(最新)
由于我们的工作目录是当前克隆的存储库,我们像这样初始化存储库:
因此,推送更改应使用与用于拉取的 Azure DevOps 相同的凭据。我错过了什么吗?
解决方案
解决方案是覆盖checkout
管道中的步骤:https ://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema%2Cparameter-schema#checkout
windows - Git LFS 不尊重 credential.helper 的配置文件级别
运行 Git LFS 命令,例如
显示使用了系统 credential.helper,即使它被本地配置覆盖。
跑步
列出 'credential.helper=manager'
然而
仅列出 'credential.helper=other'
在启用跟踪器的情况下运行 Git LFS 锁定命令会显示这一行
删除系统范围的管理器
解决了这个问题,我的本地助手“其他”被正确使用。根据git 配置文档,每个级别都胜过前一个级别,因此 Git LFS 不尊重 git 标准。有没有什么聪明的方法可以在不取消设置系统范围的帮助程序以及可能破坏其他存储库的身份验证的情况下完成这项工作?
git - GIT 凭据从 Windows 凭据管理器中消失
我一直在处理我的 GIT 凭据在 ~24 小时内从 Windows 凭据管理器中删除。截至今天(12/22 - 2.29.2),我正在使用最新版本的 GIT,但我什至不知道删除是由 GIT 凭据管理器(核心)本身还是其他东西触发的。
这是我到目前为止观察到的:
每当我在一天中第一次运行 GIT 命令时(比如说 GIT PULL),就会创建一个 PAT(个人访问令牌)。它在一年内到期。在下面的示例中,我使用 ADO (Azure DevOps) 作为我的存储库:
如果我启动 Windows 凭据管理器(控制面板\所有控制面板项\凭据管理器),我会看到:
但是,在大约 24 小时内,这个存储的凭证将消失,我会被提示再次进行身份验证,这很烦人。关于可能导致这种情况的任何线索?
这就是我在我的 SYSTEM gitconfig 文件中的内容——它是在安装 GIT 时自动附带的:
关于如何避免凭据被删除的任何想法,我将不胜感激!
谢谢!
git - 如何按需更改 github 凭据?
我有一个 github 帐户,我用它在 microsft 边缘浏览器上登录。另一个是镀铬的。主要是我使用来自microsoft edge的那个,在第一次提交github时,当我尝试推送时再次询问用户名和密码,我成功登录,之后我一直使用该帐户,我推送没有问题。
现在我需要在 chrome 上的另一个帐户上推送一些东西。但我仍然以某种方式在我的电脑上“登录”为我在微软边缘使用的 github 帐户。
当我尝试推送其他帐户时(当然,我从该帐户添加了第一个远程仓库来源)我得到了
我该如何解决这个问题?
windows - 不能克隆,可以SSH。“权限被拒绝(公钥)。”
我无法克隆或推送到服务器上的存储库。
我有一个裸仓库,它位于user@host
我home/user/test.git
试图通过git clone
. 我曾经ssh-add <pathtokey>
添加我的 ssh 密钥。它要求我输入密码。然后我就可以ssh user@host
成功了。
但是,如果我再尝试git clone ssh://user@host/~/test.git
得到:
也试过
git clone ssh://user@host/home/user/test.git
git clone user@host:home/user/test.git
git clone user@host:/home/user/test.git
结果相同
我猜git凭证管理器没有拿起钥匙?
服务器上/var/auth/log
说
Feb 20 02:25:36 xxxxx sshd[24674]: Connection closed by authenticating user XXXX x.x.x.x port 56433 [preauth]
- 吉特版本:
git version 2.30.1.windows.1
- Git 凭证管理器:
Git Credential Manager version 2.0.318-beta+44acfafa98 (Windows, .NET Framework 4.0.30319.42000)
git config -l
报告credential.helper=manager-core
- 尝试了
PowerShell
和git bash
shell,结果相同 user
已读取、执行 repo 的权限
git - 如果显示令牌,Windows 的 git credential manager core 如何安全
我有credential.helper=manager-core
,这是windows凭证管理器的新帮手。我不明白如果您可以让 git 使用git credential fill
.
重现步骤
- 通过执行命令确认凭证助手
git config --system --list
。如果您正在运行Git for Windows 2.29或更高版本,那么您应该能够credential.helper=manager-core
在列表中看到。对于早期版本,credential.helper
设置为manager
而不是manager-core
。我正在运行最新的Git For Windows 2.29.2,所以对我来说它 returnmanager-core
。 - 接下来,如果您的凭据已由助手存储,则以下命令应在 stdout 上返回凭据:
- 凭据现在应该显示在您的控制台上。它能够根据您最初配置 git 的任何内容显示密码/令牌。就我而言,我已经使用 GitHub 个人访问令牌进行了身份验证,并且它显示了该 pat。