2013-06-29 3 views
9

Когда я пытаюсь нажать на Heroku, я получаю следующие сообщения об ошибках.фатальный: я не обрабатываю протокол

[first_app]$git push heroku master 
fatal: I don't handle protocol '[email protected]:yourhttp' 

Затем я посмотрел на различные версии Heroku, что у меня есть, и там, кажется, больше, чем один, так что я попытался удалить его, но получил еще одно сообщение об ошибке.

[first_app]$ git remote set-url --delete heroku [email protected]:yourhttp://still-lake-3136.herokuapp.com/.git 
fatal: Will not delete all non-push URLs 

Я искал аналогичные сообщения об ошибках, но не смог найти что-нибудь, чтобы исправить это. Ваша помощь очень ценится.

Вот мой конфигурационный файл:

[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
    ignorecase = true 
[remote "origin"] 
    url = [email protected]:wongsteven/first_app.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 
[remote "heroku"] 
    url = [email protected]:yourhttp://still-lake-3136.herokuapp.com/.git 
    fetch = +refs/heads/*:refs/remotes/heroku/* 
[heroku] 
    remote = heroku 

not able to push to heroku | git error: cannot handle https | heroku + git submodule needs authentication | error: "fatal: I don't handle protocol ``git` when using bundle install | Git/GitHub can't push to master

+0

Что содержимое вашей '.git/config' файл? Отправьте его в ответ. – Casper

+0

Эй, Каспер, Сначала у меня как-то очень трудно найти файл «.git/config». Затем я смог открыть файл .git/config, набрав в терминале «subl .git/config». Есть ли другой способ получить этот файл? Благодаря! –

ответ

1

Git использует различные протоколы для вас на «толчок» кода это может быть по протоколу HTTPS/SSH и т.д.

Вы, наверное, .git файл/конфигурации в корне репозитория вы

Он имеет конфигурации информации для происхождения:

[remote "origin"] 
#url = ssh://[email protected]/user/repo.git 
[email protected]:myheroku.git 
fetch = +refs/heads/*:refs/remotes/origin/* 

Если вы видите этот URL-адрес информации GIT @ что-то: repo.com

Если вы посмотрите на URL-адрес там, вы увидите, что у него есть что-то вроде этого [email protected]: yourhttp (url) В этом проблема, у вас есть URL-адрес ваших приложений в конфигурации

На странице приложений на героку вы найдет uri для git repo изменит URL-адрес на это, и все должно нормально работать

+0

Hey Dusual, спасибо! Я смог заставить его работать. –

3

Ошибка в вашей конфигурации. Эта строка:

[remote "heroku"] 
    url = [email protected]:yourhttp://still-lake-3136.herokuapp.com/.git 

Это полная ерунда. Я не знаю, как эта линия оказалась там. Вы, должно быть, скопировали что-то где-то не так. Я думаю, это должно выглядеть следующим образом:

[remote "heroku"] 
    url = [email protected]:still-lake-3136.git 

Если это не работает, вы действительно должны следовать инструкциям здесь, чтобы начать удаленный репозиторий:

https://devcenter.heroku.com/articles/git

В этом случае вы можете удалить весь раздел [remote "heroku"] (фактически 5 последних строк) из вашего файла config, прежде чем приступить к выполнению этих инструкций.

Один из этих двух (редактирование строки или повторная инициализация репозитория) должен исправить вашу проблему.

+0

Hey Casper, Я изменил эту строку "url = [email protected]: yourhttp: //still-lake-3136.herokuapp.com/.git" to "url = [email protected]: secret-brushlands-7492 .git "и, похоже, теперь это работает. –

11

в кавычках URL-адрес репозитория Git (это работает для меня. Я использую Windows, 8.1)

+0

Это решение сработало для меня. Я запускал команду: $ git remote add origin «https://github.com/MyUserName/my-test-repository.git» Тогда мне удалось запустить команду: $ git push --set-upstream origin master –

0

мастерил же проблему, Тха причиной он отличался от других решений, упомянутых здесь.

Я использую SourceTree и добавляя удаленный URL-адрес, случайно добавленное дополнительное префикс-пространство.

Моя конфигурация (неправильно)

url = " ssh://url.com/path/repo.git" 

Правильная

url = ssh://url.com/path/repo.git