【问题标题】:Azure Devops requiring password every time I push from local to remote repository每次我从本地存储库推送到远程存储库时,Azure Devops 都需要密码
【发布时间】:2023-03-05 13:16:03
【问题描述】:

这里是相对较新的 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

我明白了(空格是因为代码格式问题):

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 continuous-integration azure-devops continuous-deployment


【解决方案1】:

在花了一些时间之后,我找到了一个适合我的解决方案(尽管它将您的令牌以纯文本形式存储在您的 git 凭据中)。

在推送到您的仓库之前,输入以下内容:

git config --global credential.helper 'cache --timeout=3600'

这将在转储前将所有用户名和密码存储在您的配置中 3600 秒。您可以将超时时间修改为会话的长度,或者只是将超时设置为无限期存储。

这样,您只需输入一次令牌,它就会一直存储到达到持续时间为止,此时您必须再次输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2017-05-16
    相关资源
    最近更新 更多