Azure Devops требует пароль каждый раз, когда я отправляю из локального в удаленное хранилище - PullRequest
0 голосов
/ 18 января 2019

Относительно новый пользователь git и azure-devops здесь.

В настоящее время я работаю над проектом на местном уровне, который я хочу отправить в мой частный репозиторий azure-devops под названием Hello_World.

Итак, локально я сделал следующее:

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

Спасибо за помощь!

1 Ответ

0 голосов
/ 23 января 2019

Потратив некоторое время на это, я нашел решение, которое работает для меня (хотя оно сохраняет ваш токен в виде простого текста в ваших учетных данных git).

, прежде чем нажать на репо, введите следующее:

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

Это сохранит любые имена пользователей и пароли в вашей конфигурации в течение 3600 секунд перед сбросом. Вы можете изменить время ожидания в соответствии с продолжительностью сеанса или просто оставить время ожидания на неопределенное время хранения.

Таким образом, вам нужно будет ввести свой токен только один раз, и он будет храниться до тех пор, пока не будет достигнута длительность времени, после чего вам придется вводить его снова.

...