Ответ 1
Вы можете сделать git замену протокола для вас. Просто запустите:
git config --global url."https://".insteadOf git://
Я пытаюсь настроить Bower на сервере сборки в нашем центре обработки данных, но порт git
не отображается на брандмауэре центра обработки данных. Я могу использовать клиент командной строки git для клонирования через https://[repo]
, но не git://[repo]
.
Есть ли переключатель или предпочтение, которое даст указание колокольщику выполнить клон git, используя https
, а не протокол git
?
Я посмотрел на источник и подумал об изменении кода разрешения, чтобы заменить git://
на https://
, но я решил, что задаю вопрос, прежде чем идти на эти длины.
Вы можете сделать git замену протокола для вас. Просто запустите:
git config --global url."https://".insteadOf git://
Основываясь на ответе от @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/info/15669091/bower-install-using-only-https
git config --global url."https://".insteadOf git://
# Run grunt w/ any supplied args
grunt "[email protected]"
# 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
}