Почему TFS с GIT не работает из командной строки?

Я хочу использовать инструменты командной строки git с Git-репозиториями Microsoft Team Foundation Server.

Но каждый раз, когда я хочу получить доступ к удаленным репозиториям, аутентификация не проходит. И, конечно, я использую Active Directory (это сервер TFS). Управление git-репо прекрасно работает в Visual Studio. (даже нажать, синхронизировать, клонировать и т. д.).

Cloning into 'blabla'
fatal: Authentication failed for 'http://server:8080/tfs/BlaCollection/_git/blabla/'

Я намеревался использовать эту скороговорку и всегда терпел неудачу.

ДОМЕН \ имя пользователяимя пользователя @ domainforest

Кто-нибудь подключился с помощью инструментов командной строки к TFS с git-сервером? В моей компании мы используем токены для входа в Windows, может быть причина?

 Jairo Andres Velasco Romero14 июн. 2016 г., 19:41
Я тестировал с последними: 2.9.0-windows1. Но это то же самое.
 Eddie Chen - MSFT15 июн. 2016 г., 07:51
Установите GCM и попробуйте снова:github.com/Microsoft/Git-Credential-Manager-for-Windows
 Eddie Chen - MSFT14 июн. 2016 г., 09:41
Какую версию Git вы используете? Можете ли вы установить последнюю версию Git, а затем повторить попытку?

Ответы на вопрос(7)

Попробуйте использовать Аутентификацию--username а также--password параметры с помощью команды, такие как:

git tfs clone http://tfs:8080/tfs/DefaultCollection $/Project1 -u=Domain\username -p=xxx

-u, --username = VALUE обозначает имя пользователя TFS
-p, --password = VALUE обозначает пароль TFS

Независимо от того, как ваша компания использует для входа в Windows, вам просто нужна учетная запись, которая входит в TFS. Вы можете найти информацию об учетной записи вWindows-Control Panel- Credential Manager

Visual Studio хранит учетные данные в диспетчере учетных данных Windows, который совместим сGit Credential Winstore, Если вы устанавливаете Git Credential Winstore, он должен постоянно проходить аутентификацию в репозиториях Git, вы также можете попробовать этот инструмент.

 Jairo Andres Velasco Romero10 июн. 2016 г., 18:20
И я уже использую Git Credential Store
 PatrickLu-MSFT13 июн. 2016 г., 18:18
Вы можете получить инструмент здесь:github.com/git-tfs/git-tfs
 Jairo Andres Velasco Romero13 июн. 2016 г., 17:37
спасибо за помощь, я попробовал то, что вы сказали, но я получаюgit: 'tfs' is not a git command. See 'git --help'.  Мой git-клиент не имеет опции tfs
 Jairo Andres Velasco Romero13 июн. 2016 г., 20:04
Я проверил это, но это предназначено для коллекций TFS, которые отображаются как локальные репозитории git. Мой пульт - это репозиторий TFS-with-GIT, а мой локальный - тоже git, но у него есть аутентификация Windows. Это моя проблема.
 Jairo Andres Velasco Romero10 июн. 2016 г., 18:19
Я не пользуюсь Visual Studio Online. И сообщение в блоге имеет неправильный заголовок
 PatrickLu-MSFT13 июн. 2016 г., 11:39
Извините за мою ошибку, пожалуйста, смотрите мое обновление. Вы использовали -u -p в команде Git напрямую? И независимо от того, как ваша компания использует для входа в Windows, вам просто нужна учетная запись, которая входит в TFS. Вы можете найти информацию об учетной записи вWindows-Control Panel- Credential Manager
Решение Вопроса

Используйте команду:

git config --global credential.http://[tfs_server].integrated true

Конечно, заменить[tfs_server] с вашим собственным именем хоста сервера TFS.

Когда диспетчер учетных данных запрашивает учетные данные, просто оставьте пустые поля и нажмите ОК. (Я, таким образом, аутентификация будет выполняться с использованием Kerberos).

Проверьте здесь для получения дополнительной информацииhttps://github.com/Microsoft/Git-Credential-Manager-for-Windows#qi-thought-microsoft-was-maintaining-this-why-does-the-gcm-not-work-as-expected-with- ТФС

 Jairo Andres Velasco Romero14 мар. 2018 г., 17:45
Похоже, вы неправильно настроили диспетчер учетных данных
 Ömür Alçin20 мая 2019 г., 12:46
Спасибо ! Это хорошо для меня. Это интересно, но необходимо! «Когда диспетчер учетных данных запрашивает учетные данные, просто оставьте пробелы и нажмите ОК».
 cwhisperer12 мар. 2018 г., 17:37
Я пытался следовать вашему совету, но безуспешно. Каждый раз, когда я запускаю клон, появляется следующая ошибка: клонирование в 'BETR_WP% 20Route' ... Fatal: java.lang.IllegalArgumentException. Подробности: tokenSecretStore не может быть нулевым. Неустранимый: java.lang.IllegalArgumentException обнаружен. Подробности: tokenSecretStore не может быть пустымtfsapp1: 8080«:

Я сделал две вещи, чтобы заставить это работать.

Обновите мой мерзавец до последней версии.Откройте диспетчер учетных данных Windows, введя его в Windows Search, и удалите учетные данные git в общих учетных данных, как показано ниже.
 TJBlackman06 авг. 2019 г., 19:48
Это сработало! Борьба с TFS + Git на Windows 10, и это сработало! Спасибо!

как ваша компания использует для входа в Windows, вам просто нужна учетная запись, которая входит в TFS. Вы можете найти информацию об учетной записи в Панели управления Windows - Диспетчер учетных данных

отPatrickLu-MSFT

Это то, что сделал это для меня. Я просто открыл диспетчер учетных данных Windows, как указано выше, и отредактировал учетные данные, потому что некоторые из них были привязаны к моему предыдущему паролю.

Затем добавьте новый элемент с «git:» перед http: // i.e .:

мерзавец:http://Example.com

добавить домен \ пользователя как пользователя и пароль

 lacoder17 сент. 2018 г., 13:07
Это исправило проблему для меня.

Перейдите в Панель управления \ Учетные записи пользователей \ Диспетчер учетных данных

В разделе «Учетные данные Windows» измените пароль для определенного интернет-или сетевого адреса.

Диспетчер учетных данных> Windows Credentials.

Я пытался удалить только общие учетные данные смерзавец: перед ними, но команды git все еще не работали.

После того, как я удалил учетные данные Windows для сервера TFS, команды git начали работать.

Ваш ответ на вопрос