Бауер встановити лише за допомогою https?


257

Я намагаюся налаштувати Bower на сервер збірки в центрі даних нашої організації, але gitпорт не здається відкритим на брандмауері центру даних. Я можу використовувати клієнт командного рядка git для клонування через https://[repo], але ні git://[repo].

Чи є перемикач або перевагу , яке буде інструктувати Bower для виконання GIT клону , використовуючи httpsзамість gitпротоколу?

Я переглянув джерело і розглядав можливість зміни коду роздільної здатності замінити git://на https://, але зрозумів, що запитаю, перш ніж перейти до цих довжин.


Відповіді:


629

Ви можете зробити git замінити протокол для вас. Просто запустіть:

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

використовувати протокол HTTPS замість Git.


13
Я відчуваю себе справді німим. Я намагався виконувати частину команди до .insteadOf, думаючи, що @Sindre казав нам використовувати git замість git. Добре горе цих англійських команд.
крик

99
Якщо хтось застосує цю відповідь, а потім задумається, як відмовитись від зміни глобальної конфігурації (як я), це:git config --global --unset url."https://".insteadOf
ryan_effectiveui

21
Ви також можете опустити, --globalі це додасть конфігурацію до локальної .git/config.
Хелдер С Рібейро

24
На машині Windows глобальний файл конфігурації знаходиться .gitconfig під домашньою папкою користувача, наприклад C: \ Users [ім'я користувача]. Однак якщо% HOME% не визначено, git використовуватиме% HOMEDRIVE%, тоді як git з bower замість цього використовуватиме% USERPROFILE%. Тоді як ці дві змінні можуть бути різними. На моїй машині один - U :, інший - C: \ Users \ myusername. Тож бауер все ще використовував git: // що б я не спробував. Мені знадобилося певний час, щоб розібратися в цьому. Тому запишіть його на випадок, якщо хтось потрапить у ту саму ситуацію.
Антоній

2
@VincentGauthier У Windows запустіть Властивості системи -> Додатково -> Змінні середовища -> SystemVariables -> Нове -> Додати змінну з назвою HOME та встановіть її значення на потрібний шлях
Nick

2

Спираючись на відповідь @Sindre, я написав невелику функцію помічника в BASH, яка живе в моєму ~/.bashrcфайлі. Назвіть це так само, як ви хотіли grunt, за винятком того, як зараз це називається nngrunt. Насолоджуйтесь!

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
}

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.