Ich habe zwei separate PCs, die mit dem gleichen Gitlab Repo verbinden. Beide verwenden Visual Studio Update 3 und Team Explorer mit Git. Auf einem PC habe ich kein Problem, das Projekt zu aktualisieren und dann die Commits zum Remote-Repo zu schieben. Auf dem anderen PC wird jedoch jede Operation (push oder fetch oder sync) mit einem Unsupported URL protocol
Fehler fehlschlagen, obwohl ich es ursprünglich geschafft habe, den Repo zu klonen. Ich vermute, dass etwas in der Verbindungszeichenfolge nicht gefällt, da ich den Repo über die Befehlszeile git (Version 2.9.2 so ziemlich neu) festschreiben und synchronisieren kann. Was ist die Ursache für diesen Fehler und gibt es eine Problemumgehung?Nicht unterstütztes URL-Protokoll in Git Provider Fehler
Antwort
Ich habe den Unterschied zwischen den beiden lokalen repos geprüft und git remote -v
auf PC1 gibt:
Herkunft https://gitlab.com/ ...
während auf PC2:
Herkunft git @ gitlab.com: ...
Nach weiteren Untersuchungen scheint es, dass die alte Version von LibGit2, die VS2015 Update3 verwendet, fehlt SSH-Unterstützung. Das erste Repo war das Original und wurde in VS erstellt, das zweite Repo wurde über eine Befehlszeile geklont, daher die SSH-Verbindungszeichenfolge.
Die Abhilfe ist die Verbindungszeichenfolge in .git/config
zu
URL ändern = https://gitlab.com/ ...
Wenn man absolut SSH benötigt, als es möglich ist gitlib2 neu kompilieren oder Befehlszeile verwenden Git was funktioniert. Es könnte möglich sein, andere Git Source Provider in VS2015 zu verwenden, aber ich habe es nicht getestet. (zum Beispiel Git Source Control Provider 2015)
Da die Git Bash auf dem anderen Computer funktioniert, ist eine Möglichkeit, nur die Bash zu verwenden. Sie könnten versuchen, die Gitlab-Verbindungseinstellungen zwischen den beiden Computern zu vergleichen. –
Ja, das ist die aktuelle Problemumgehung, die ich verwende. Gibt es eine Möglichkeit, eine Art von Verbindungsprotokoll oder die Verbindungszeichenfolge zu überprüfen, da es sich über die URL beschwert. Ich habe versucht, URL umschreiben, aber das hat nicht funktioniert. – s952163
Vergleichen Sie die Einstellungen von beiden Gitlabs. Man arbeitet, so dass Sie dies als Referenz verwenden können. –