2013-06-29 14 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"というファイルを見つけるのが非常に難しいです。私はその後、端末に "subl .git/config"とタイプして.git/configファイルを開くことができました。このファイルを取得する他の方法はありますか?ありがとう! –

答えて

1

Gitはおそらく、あなたのルートで.git/configファイルを持っている、これは、HTTPS/SSHなど

可能性があり、「プッシュ」のコードにあなたのためのさまざまなプロトコルを使用していますこれは、設定情報を持っている

をリポジトリ原点:

[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を持っている問題です

あなたのアプリのページであなたgit repoのuriがそれにURLを変更すると物事はうまく動作するはずです。

+0

こんにちはDusual、ありがとう!私はそれを働かせることができました。 –

3

エラーがあなたの設定にあります。この行:

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

完全なナンセンスです。私はその行がそこでどのように終わったのか分かりません。間違った場所から何かをコピーして貼り付ける必要があります。あなたが削除することができ、その場合には

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

:それはあなたが本当にリモートリポジトリを開始するために、ここでの指示に従ってください動作しない場合

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

:私の推測では、それは次のようになりますですあなたのconfigファイルから[remote "heroku"]セクション(実際には最後の5行)を読み、その指示に従ってください。

これら2つのうちの1つ(行の編集、またはリポジトリの再初期化)によって問題が解決されます。 GitのリポジトリのURLの周り

+0

Hey Casper、 私はこの行を「url = [email protected]:yourhttp://still-lake-3136.herokuapp.com/git」から「url = [email protected]:secret-brushlands-7492」に変更しました.git "と今すぐ動作するようです。 –

11

入れ引用符(これは私がWindowsの8.1を使用しています。私のために働いた)

+0

このソリューションは私のために働いた。私はコマンドを実行していました:$ git remote add origin "https://github.com/MyUserName/my-test-repository.git" 次にコマンドを実行できました: $ git push -set-upstream origin master –

0

Hade同じ問題、それの原因カントー、ここで述べた他のソリューションとは異なっていました。

SourceTreeを使用していて、リモートURLを追加するときに、余分なプレフィックススペースが誤って追加されました。

マイ設定(間違った)

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

正しい

url = ssh://url.com/path/repo.git 
関連する問題