2016-10-24 2 views
3

Wir haben eine interne gehostete Instanz von Team Foundation Server 2013 mit vielen Projekten, die GIT-Quellcodeverwaltung verwenden. Wenn ich Visual Studio 2015 verwende, kann ich problemlos klonen, schieben, ziehen usw. Wenn ich jedoch versuche, über die Git-Befehlszeile mit dem Server zu interagieren, kann git nicht mit dem Server kommunizieren. Zum Beispiel, wenn ich versuche, ein Repository zu klonen (ich bin 100% positiv, dass die URL gültig ist), wird es fehlerhaft. Hier ist die Ausgabegit fatal: Repository nicht gefunden Remotezugriff für internen TFS-Server

C:\Projects\>git clone http://tfs_server_name:8080/tfs/CollectionName/_git/SomeProject 
Cloning into 'SomeProject'... 
fatal: repository 'http://tfs_server_name:8080/tfs/CollectionName/_git/SomeProject/' not found 

Unsere TFS-Instanz konfiguriert ist, integrierte Windows-Authentifizierung zu verwenden, und so folgte ich die Anweisungen aus diesem Artikel: https://github.com/Microsoft/Git-Credential-Manager-for-Windows/blob/master/Docs/Faq.md#q-i-thought-microsoft-was-maintaining-this-why-does-the-gcm-not-work-as-expected-with-tfs

ich den Befehl aus diesem Artikel lief wie angewiesen (wo tfs_server_name ist die Maschine Namen unseres Servers und NameOfOurDomain.lcl ist unsere Domäne):

git config --global credential.tfs_server_name.NameOfOurDomain.lcl.integrated true 

das hat das Problem auch nicht beheben. Ich habe den Befehl ausgeführt, versucht zu klonen, nichts. Ich habe neu gestartet, versucht zu klonen, nichts.

Was kann ich noch tun, um Git zur Authentifizierung gegen diesen Server zu bekommen?

+0

Das sieht nicht wie die URL für ein gültiges Git-Repository für mich aus. Normalerweise würde ich erwarten, dass es mit .git endet. –

+0

@JackBracken, Dieses Git Repo wird auf einem TFS-Server gespeichert. Diese URL wurde direkt aus der Datei ".git/config" unter dem Abschnitt "[remote" Ursprung "]" abgerufen, die erstellt wird, wenn ich den Repo in Visual Studio klonen. Außerdem glaube ich nicht, dass die Erweiterung .git für Git-Repositories obligatorisch ist, es ist nur eine übliche Konvention. (http://stackoverflow.com/questions/11068576/why-do-some-repository-urls-end-in-git-while-others-ont) – TwitchBronBron

+0

Welche Version von Git verwenden Sie? Hast du deinen Benutzernamen und dein Passwort für TFS eingegeben? –

Antwort

2

Haben Sie Proxy-Einstellungen festgelegt? Überprüfen Sie die globalen Git-Einstellungen für http.proxy und https.proxy in der .gitconfig-Datei in Ihrem Profil. Stellen Sie außerdem sicher, dass keine Umgebungsvariablen auf einen Proxyserver (HTTP_PROXY und HTTPS_PROXY) gesetzt sind.

Die meisten Proxy-Server erlauben keinen internen Zugriff, daher ist es möglich, dass der TFS-Server vom Proxy-Server nicht gesehen wird und daher git nicht sehen kann, wenn git so konfiguriert ist, dass er auf einen Proxy verweist das Repository.

+0

Das war total das Problem. Ich hatte keine Proxyeinstellungen für .gitconfig eingestellt, aber ich hatte die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY gesetzt, also verwendete git diese. Sobald ich die Umgebungsvariablen entfernt hatte, konnte ich den internen Server sehen. Mit diesem Post konnte ich meine .gitconfig-Datei so einrichten, dass sie den Proxy für alles außer meinem internen TFS-Server verwendet. http://stackoverflow.com/questions/16067534/only-use-a-proxy-for-certain-git-urls-domains/18712501#18712501 – TwitchBronBron

0

Ich habe gerade mit Git-Befehlszeile + TFS 2013.5 versucht, kein Problem aufgetreten.

  1. Stellen Sie sicher, dass Sie das neueste Git verwenden (ich benutze 2.10.1 64-Bit-Version von Git für Windows).
  2. Entfernen Sie die Anmeldeinformationen git: http://tfsserver:8080 in Credential Manager.
  3. Geben Sie die Anmeldeinformationen ein, die auf den Repo zugreifen können, um ihn zu klonen.

enter image description here

+1

Ich installierte die neueste, bestätigte durch laufendes git --version, immer noch das gleiche Problem wie das OP. –

+0

Ich benutze die gleiche Version, die Sie verwenden (2.10.1.windows.1 64bit). Ich löschte alle Anmeldeinformationen in meinem Anmeldeinformationen-Manager und führte dann erneut den Git-Klon aus. Diese Anmeldeaufforderung wird nie angezeigt. Es gibt nur 'fatal: repository ... not found' aus. – TwitchBronBron

+0

@TwitchBronBron Haben Sie eine andere Maschine versucht? Wenn Sie einen TFS-Server-Computer ausprobieren, können Sie eine Anmeldeaufforderung erhalten? –

0

Das ist ein bisschen gewunden, aber es kann helfen, die Ursache.

In Ihrer Eingabeaufforderung:

runas /profile /user:your_domain\your-user-id "cmd.exe"

Es öffnet sich ein neues Fenster mit Eingabeaufforderung. Im neuen Fenster ...

cd c:\projects 
git clone http://tfs_server_name:8080/tfs/TeamProjectName/_git/SomeProject 
+0

Das hat bei mir auch nicht funktioniert. Ich bekomme immer noch den Fehler "Fatal: Repository nicht gefunden". – TwitchBronBron

0

Die von Ihnen angegebene URL ist nicht korrekt.

Ihre URL:

http://tfs_server_name:8080/tfs/TeamProjectName/_git/SomeProject/ 

korrekte URL:

http://tfs_server_name:8080/tfs/CollectionName/_git/ProjectName/ 

Da Sie sich mit VS2015 funktioniert erwähnt, so dass Sie die URL von „Visual Studio \ Team Explorer \ Einstellungen \ Repository-Einstellungen überprüfen \ Remotes ".

+0

Ich bin sicher, dass URL korrekt ist. Ich habe gerade einen schrecklichen Job gemacht, die sensiblen Informationen in der URL für diesen Beitrag herauszufiltern. Ich habe es fälschlicherweise TeamProjectName genannt, obwohl es CollectionName hätte sein sollen. Ich habe meine Frage aktualisiert, um das besser widerzuspiegeln. – TwitchBronBron

+0

@TwitchBronBron Dann haben Sie überprüft, ob die URL mit der in Visual Studio identisch ist? –

+0

Ich habe überprüft. Die URL, die ich verwende, ist in der Tat die gleiche wie die, die Visual Studio zeigt. – TwitchBronBron

Verwandte Themen