Использование нескольких учетных записей для доступа к репозиторию Azure Devops Git из Visual Studio - PullRequest
0 голосов
/ 04 мая 2020

Я получаю эту ошибку при попытке клонировать репозиторий из Azure Devops в Visual Studio 2019:

TF401019: The Git repository with name or identifier X does not exist or you do not have permissions for the operation you are attempting.
Error encountered while cloning the remote repository: Git failed with a fatal error.

Я использую две учетные записи:

  • user@domain.com
  • user@seconddomain.com

user@domain.com - это мой основной аккаунт в visual studio, у него есть доступ к моему репо, но нет прав. user@seconddomain.com - это еще одна настройка учетной записи в Visual Studio, она имеет полный доступ к моему репо.

Когда я пытаюсь клонировать репо, я получаю сообщение об ошибке выше. В Azure Devops я заметил, что токен личного доступа создается в моей первой учетной записи, а не во второй, поэтому я предполагаю, что он пытается подключиться не к той учетной записи. Меня никогда не спрашивают учетные данные из Visual Studio, даже когда я удаляю учетные данные из Windows Диспетчер учетных данных и очищаю кэш от IE и Edge.

Есть ли способ указать, под какой учетной записью клонировать репозиторий Azure Devops в Visual Studio 2019?

---- Обновление

Когда я клонирую, я захожу с учетной записью №2 в Visual Studio и перечисляю репозитории под dev. azure .com

enter image description here

Но я получаю эту ошибку:

Remote: TF401019: The Git repository with name or identifier X does not exist or you do not have permissions for the operation you are attempting.
Error encountered while cloning the remote repository: Git failed with a fatal error.
repository 'https://dev.azure.com/X' not found

И затем, в Azure Devops, с учетной записью № 1, создается PAT enter image description here

PAT сохраняется в Windows диспетчере учетных данных (я удаляю его при каждой попытке) enter image description here

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Есть ли способ указать, под какой учетной записью клонировать репозиторий Azure Devops в Visual Studio 2019?

Приносим извинения за неудобства.

Такое поведение по расчету . Мы не можем указать другую учетную запись для клонирования репозитория Azure Devops в Visual Studio.

Когда мы подключаем репозиторий из Visual Studio, вместо ввода идентификационной информации запрашивается учетная запись для входа:

enter image description here

Если мы хотим указать другую учетную запись для клонирования репо, нам нужно сохранить еще две учетные записи в Visual Studio. Когда мы находимся в процессе синхронизации VS с Azure devops, VS не может разумно выбрать, какой сертификат использовать для аутентификации, в противном случае мы должны вручную выбирать сертификат каждый раз, когда синхронизируем код .

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

Именно поэтому Visual Studio позволяет мы используем учетную запись для аутентификации.

Если вы хотите использовать другую учетную запись для клонирования кода из репозитория, вы можете попробовать использовать командную строку и PAT, например:

git clone https://<PAT>@dev.azure.com/<OrganizationName>/YourProject/_git/..

Имя пользователя и пароль не требуются, так как PAT должен быть достаточным.

Надеюсь, это поможет.

0 голосов
/ 04 мая 2020

Я предполагаю, Windows?
VS может возвращаться к неправильной идентичности, я не думаю, что есть способ заставить VS использовать одну учетную запись над другой. Я предлагаю вам клонировать из командной строки. VS имеет свой собственный клиент Git, поэтому он обрабатывает удостоверения за пределами git диспетчера учетных данных, который запрашивает учетные данные, если он не может найти их в Windows диспетчере учетных данных.

Служба поддержки MS предложит следующее, хотя и не уверен это будет работать:

Попробуйте выйти из системы и забыть свои учетные записи. Удалить кеши. Идентификаторы VS кэшируются по следующим путям для windows.

C:\Users\{user}\AppData\Local\.IdentityService
C:\Users\{user}\AppData\Local\Microsoft\Team Foundation\{each version}\Cache
C:\Users\{user}\AppData\Local\Microsoft\Team Foundation\{each version}\Cache
C:\Users\{user}\AppData\Local\Microsoft\VisualStudio Services\{each version}\Cache
C:\Users\{user}\AppData\Local\GitCredentialManager\tenant.cache

Также очистите ваши Windows записи диспетчера учетных данных, которые начинаются с git:*.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...