Ich arbeite hinter einem http-Proxy. Ich versuche, den Quellbaum von Android mit dem "Repo" -Tool zu klonen.
Dieses Tool besteht darauf, git://
URLs zu verwenden, obwohl http://
URLs auch funktionieren. Daher kann ich die Quelle nicht herunterladen.
Ist es möglich zu erzwingen git
, immer zu verwenden http
?
Bearbeiten: Mein http_proxy ist korrekt konfiguriert. Zum Beispiel funktioniert dies:
git clone http://android.git.kernel.org/platform/manifest.git
Dies ist jedoch nicht der Fall (errno = Zeitüberschreitung der Verbindung):
git clone git://android.git.kernel.org/platform/manifest.git
Also diese Antwort hilft mir nicht wirklich.
Antworten:
Hier ist ein Beispiel für das Umschreiben des Standardprotokolls für GitHub:
Git-Dokumentation für
url.<base>.insteadOf
:quelle
git remote -v
zeigt sofort WirkunginsteadOf
undpushInsteadOf
Konfiguration[email protected]:...
Format für die URLs verwendete. Das hat funktioniert:git config --global url."https://github.com/".insteadOf '[email protected]:'
für mich.Ich weiß nicht, wie dieses Repo- Tool Git verwendet (und ob Sie 'repo' für die Verwendung des http-Protokolls konfigurieren können), aber Sie können versuchen, es mithilfe der
url.<base>.insteadOf
Konfigurationsvariablen auszutricksen (siehe Manpages git-config und git-fetch ).Haben Sie versucht, die
core.gitProxy
Firewall zu passieren, wenn dies das Problem bei der Verwendung des Git-Protokolls ist?quelle
Ich hatte das gleiche Problem mit dem rekursiven Abrufen von Submodulen in einem Git-Repository. Ich bin hinter einer verrückten Firewall, die keine ausgehenden Verbindungen am Git-Port zulässt. Einige der Submodule der Submodule wurden als codiert
git://github.com/blah/blah.git
. Dies tötete meine rekursive Population von Submodulen. Die Problemumgehung ist folgende:Dies ersetzt
git://
durchhttps://<GITUSERNAME>@
in allen Submodul-Repository-URLs ersetzt. Sie müssen durch<GITUSERNAME>
Ihren eigenen Git-Benutzernamen ersetzen . Beachten Sie auch, dass das--global
erforderlich ist; Das Hinzufügen dieser Konfiguration zum Basis-Repository-Verzeichnis funktioniert nicht.quelle
Sie können überprüfen,
~/.gitconfig
ob Sie SSH mit https: // überschreiben oder umgekehrt.quelle