Instalacja Bower przy użyciu tylko https?


257

Próbuję skonfigurować Bower na serwerze kompilacji w centrum danych naszej organizacji, ale gitport nie wydaje się być otwarty na zaporze centrum danych. Mogę użyć klienta wiersza poleceń git do klonowania https://[repo], ale nie git://[repo].

Czy istnieje przełącznik lub preferencja, która poinstruuje altowera, aby wykonał klonowanie git przy użyciu protokołu, httpsa nie gitprotokołu?

Szukałem u źródła, a uznane zmiany kodu rozdzielczości do zastąpienia git://z https://, ale pomyślałem, pytam, zanim pójdę do tych długościach.


Odpowiedzi:


629

Możesz zmusić git do zastąpienia protokołu. Po prostu biegnij:

git config --global url."https://".insteadOf git://

używać protokołu HTTPS zamiast Git.


13
Czuję się naprawdę głupio. Próbowałem część polecenia przed. Zamiast zamiast myśleć, że @Sindre mówi nam, abyśmy używali git zamiast git. Żałuję tych angielskich poleceń.
wrzask

99
W przypadku, gdy ktoś zastosuje tę odpowiedź, a następnie zastanowi się później, jak wycofać się z tej globalnej zmiany konfiguracji (jak ja), to:git config --global --unset url."https://".insteadOf
ryan_effectiveui

21
Możesz również pominąć, --globala to doda konfigurację do lokalnego .git/config.
Helder S. Ribeiro

24
Na komputerze z systemem Windows globalnym plikiem konfiguracyjnym jest .gitconfig w folderze domowym użytkownika, np. C: \ Users [nazwa użytkownika]. Jednak jeśli% HOME% nie jest zdefiniowane, git użyje% HOMEDRIVE%, podczas gdy git z altany użyje% USERPROFILE%. Te dwie zmienne mogą się jednak różnić. Na moim komputerze jeden to U :, drugi to C: \ Users \ moja nazwa użytkownika. Więc altana nadal używała git: // cokolwiek próbowałem. Zajęło mi to trochę czasu, aby to zrozumieć. Zapisz to na wypadek, gdyby ktoś wpadł w tę samą sytuację.
AnthonyY

2
@VincentGauthier W systemie Windows uruchom Właściwości systemu -> Zaawansowane -> Zmienne środowiskowe -> Zmienne systemowe -> Nowe -> Dodaj zmienną o nazwie HOME i ustaw jej wartość na żądaną ścieżkę
Nick

2

Opierając się na odpowiedzi z @Sindre, napisałem małą funkcję pomocniczą w BASH, która znajduje się w moim ~/.bashrcpliku. Nazwij to tak, jak chcesz, tyle że gruntteraz się nazywa nngrunt. Cieszyć się!

function nngrunt
{
    # Add a section to the global gitconfig file ~/.gitconfig that tells git to
    # go over http instead of the git protocol, otherwise bower has fits...
    # See http://stackoverflow.com/questions/15669091/bower-install-using-only-https
    git config --global url."https://".insteadOf git://

    # Run grunt w/ any supplied args
    grunt "$@"

    # Now cleanup the section we added to the git config file
    # Of course we have our own extra cleanup to do via sed since the unset command
    # leaves the section around
    # See http://git.661346.n2.nabble.com/git-config-unset-does-not-remove-section-td7569639.html
    git config --global --unset url."https://".insteadOf
    sed -i 's/\[url "https:\/\/"\]//' ~/.gitconfig
    sed -i '/^$/d' ~/.gitconfig
}

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.