每次我从本地推送到远程存储库时,Azure Devops 都需要密码
Azure Devops requiring password every time I push from local to remote repository
这里是相对较新的 git 和 azure-devops 用户。
我目前正在本地开展一个项目,我希望将其推送到我名为 'Hello_World' 的私有 azure-devops 存储库。
所以在本地,我做了以下事情:
git remote add origin https://dkennetz@dev.azure.com/dkennetz/Hello_World/_git/Hello_World
然后我想把我所有的本地代码推送到远程仓库,所以我简单地做了:
git push -u origin --all
我被提示:
[dkennetz@nodecn204 Hello_World]$ git push -u origin --all
Password for 'https://dkennetz@dev.azure.com':
很好。我第一次输入令牌,我认为所有的事情都会相应地处理,以备将来推送。我错了。每次之后,我仍然必须输入密码才能进行推送。
我将此作为一个简单的测试用例来尝试 azure-devops,但如果项目中的每个用户每次都必须输入 CI/CD 的用户名和密码,我认为这将成为一个严重的问题用户想要将代码推送到仓库。
我想也许我可以在我的配置中添加一些东西来处理这个问题,但我不确定。
如果我运行:
git config --list
我得到(space 是因为代码格式问题):
user.name=Dennis Kennetz
user.email=funkyman@funky.org
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://dkennetz@dev.azure.com/dkennetz/Hello_World/_git/Hello_World
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
感谢您的帮助!
在这方面花了一些时间后,我找到了一个适合我的解决方案(尽管它以纯文本形式将您的令牌存储在您的 git 凭据中)。
在推送到您的存储库之前,输入以下内容:
git config --global credential.helper 'cache --timeout=3600'
这将在转储之前将所有用户名和密码存储在您的配置中 3600 秒。您可以将 timeout 中的时间修改为您的会话时长,或者只是取消 timeout 以无限期存储。
这样,您只需输入一次您的令牌,它会一直存储,直到达到持续时间,届时您将不得不再次输入。
这里是相对较新的 git 和 azure-devops 用户。
我目前正在本地开展一个项目,我希望将其推送到我名为 'Hello_World' 的私有 azure-devops 存储库。
所以在本地,我做了以下事情:
git remote add origin https://dkennetz@dev.azure.com/dkennetz/Hello_World/_git/Hello_World
然后我想把我所有的本地代码推送到远程仓库,所以我简单地做了:
git push -u origin --all
我被提示:
[dkennetz@nodecn204 Hello_World]$ git push -u origin --all
Password for 'https://dkennetz@dev.azure.com':
很好。我第一次输入令牌,我认为所有的事情都会相应地处理,以备将来推送。我错了。每次之后,我仍然必须输入密码才能进行推送。
我将此作为一个简单的测试用例来尝试 azure-devops,但如果项目中的每个用户每次都必须输入 CI/CD 的用户名和密码,我认为这将成为一个严重的问题用户想要将代码推送到仓库。
我想也许我可以在我的配置中添加一些东西来处理这个问题,但我不确定。
如果我运行:
git config --list
我得到(space 是因为代码格式问题):
user.name=Dennis Kennetz
user.email=funkyman@funky.org
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://dkennetz@dev.azure.com/dkennetz/Hello_World/_git/Hello_World
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
感谢您的帮助!
在这方面花了一些时间后,我找到了一个适合我的解决方案(尽管它以纯文本形式将您的令牌存储在您的 git 凭据中)。
在推送到您的存储库之前,输入以下内容:
git config --global credential.helper 'cache --timeout=3600'
这将在转储之前将所有用户名和密码存储在您的配置中 3600 秒。您可以将 timeout 中的时间修改为您的会话时长,或者只是取消 timeout 以无限期存储。
这样,您只需输入一次您的令牌,它会一直存储,直到达到持续时间,届时您将不得不再次输入。