web-dev-qa-db-ja.com

Github "致命的:リモートのOriginは既に存在します"

Michael HartlのRailsチュートリアル - に沿って追跡しようとしています しかし私はエラーに出くわしています。

Githubにサインアップして新しいSSHキーを発行し、新しいリポジトリを作りました。しかし、端末に次の行を入力すると、次のエラーが発生します。

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add Origin [email protected]:ppreyer/first_app.git
fatal: remote Origin already exists.

他の誰かがこの問題に遭遇したかどうか疑問に思いますか?

382
ppreyer

TL; DR既存のリモコンを更新するだけです:

$ git remote set-url Origin [email protected]:ppreyer/first_app.git

ロングバージョン:

エラーメッセージが示すように、同じ名前で設定されたリモートがすでにあります。そのため、新しいリモコンを別の名前で追加するか、必要でなければ既存のリモコンを更新することができます。

githubの代わりにOriginなどと呼ばれる新しいリモートを追加するには(明らかに既にシステムに存在しています)、以下を実行してください。

$ git remote add github [email protected]:ppreyer/first_app.git

ただし、チュートリアルのいたるところに "Origin" と表示されている場合は、 "github" に置き換えてください。例えば$ git Push Origin master$ git Push github masterになります。

しかし、すでに存在するOriginが何であるかを知りたい場合は、$ git remote -vを実行できます。これがエラーであると思われる場合は、次のように更新してください。

$ git remote set-url Origin [email protected]:ppreyer/first_app.git
748
Agis

要するに、

git remote rm Origin
git remote add Origin [email protected]:username/myapp.git

働いた!

乾杯!

277

「致命的:リモートOriginはすでに存在しています。」または「エラー:設定セクションremote.Originを削除できませんでした。 Originを手動で設定してください。

WindowsのPowerShell用のPOSH〜Git(およびWindows用のGitHubのアプリ)には問題があります。

私はたまたまこれを見つけました、私が頻繁にそうするように、私のオクトプレスをセットアップするとき。だから、私はそれがうまくいった方法です。

まず、あなたのリモコンをチェックしてください。

C:\Gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (Push)
Origin

私のOriginにはURLがありません。それを削除したり、名前を変更するなどの試みはすべて失敗します。

そのため、URLを手動で変更します。

git remote set-url --add Origin https://github.com/eduncan911/eduncan911.github.io.git

それからgit remote -vを再度実行することでうまくいったことを確認できます。

C:\Gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (Push)
Origin  https://github.com/eduncan911/eduncan911.github.io.git (fetch)
Origin  https://github.com/eduncan911/eduncan911.github.io.git (Push)

これは私がGitHub、BitBucket GitLabなどで問題を抱えていた数十のgitリポジトリを修正しました。

36
eduncan911

経由して接続するように設定されているリモートリポジトリを確認できます。

git remote -v

それはこのフォーマットのリストを返すでしょう:

Origin  [email protected]:github/git-reference.git (fetch)
Origin  [email protected]:github/git-reference.git (Push)

それはあなたがオリジナルの 'Origin'が指していたものを理解するのを助けるかもしれません。

-vで表示されるリモート接続を維持したいが、チュートリアルのリポジトリに 'github'(または他の名前)を覚えていなくてもRailsチュートリアルに従うことを希望する場合は、 otherという名前に変更できます。 repositoryコマンドで

git remote rename [current name] [new name]

のように:

git remote rename Origin oldrepo

これでチュートリアルを再開できます。

32
Mark Semsel

まずはじめに:

git remote rm Origin

それから

git remote add Origin https://github.com/your_user/your_app.git

そしてよろしく!私のために働いた!

28
Obed Castillo

あなたがテンプレートとして使用した古いリポジトリから始めて新しいリポジトリを作成しているという特別な場合(これがあなたの場合ではないならこれをしないでください)。古いリポジトリのgitファイルを完全に消去して、新しいリポジトリを起動できるようにします。

rm -rf .git

そして、いつものように新しいgitリポジトリを再起動します。

git init
git add whatever.wvr ("git add --all" if you want to add all files)
git commit -m "first commit"
git remote add Origin [email protected]:ppreyer/first_app.git
git Push -u Origin master
21
Wilmer E. Henao

あなたがあなたのローカルリポジトリに接続しているリモートリポジトリをチェックする必要があるなら、cmdがあります:

git remote -v

さて、あなたがリモートレポジトリ(例えばOrigin)を削除したいのなら、あなたができることは次のとおりです。

git remote rm Origin
11
Samarth Shah

remoteの概念は単にあなたのリモートリポジトリのURLです。

Originは、そのURLを指す alias です。そのため、リポジトリに何かをプッシュしたいときに毎回URL全体を書くのではなく、このエイリアスを使って次のように実行します。

git Push -u Origin master

local master branch から remote Origin repository までコードをPushにgitするよう指示します。

リポジトリのクローンを作成するたびに gitがデフォルトでこのエイリアスを作成します。また、 新しいリポジトリ を作成するときはいつでも、それを自分自身で作成するだけです。

どのような場合でも、これを実行して、この名前を好きな名前にいつでも変更できます。

git remote rename [current-name] [new-name]

これはgitアプリケーションのクライアント側(私たちのマシン上)に保存されているので、変更しても開発プロセスのどの部分にも影響を与えず、リモートリポジトリにも影響しません。覚えておいて、それは name address を指すだけであることを忘れないでください。

ここでエイリアスの名前を変更することによって変更される唯一のことは、リポジトリに何かをプッシュするたびに、このnew nameを宣言する必要があるということです。

git Push -u my-remote-alias master

明らかに、単一の名前が2つの異なるアドレスを指すことはできません。そのため、このエラーメッセージが表示されます。あなたのローカルマシンには既にOriginというエイリアスがあります。エイリアスの数とその数を確認するには、次のコマンドを実行します。

git remote -v

これはあなたが持っているすべてのエイリアスとそれに対応するURLを表示します。

あなたがこれを実行するのが好きなら、あなたもそれらを削除することができます:

git remote rm my-remote-alias

簡単に言うと:

  • あなたはもう何を持っていますか
  • それらを削除または名前変更します。
  • 新しいエイリアスを追加してください。

ハッピーコーディング.

7
varDumper

そのエラーメッセージはあなたのgitディレクトリに既にリモートがあることを示しています。あなたがそのリモコンに満足しているなら、あなたはあなたのコードをプッシュすることができます。そうでない場合、またはあなたがプッシュできない場合:

git remote remove Origin
git remote add Origin [email protected]:ppreyer/first_app.git

ほら!

6
MrHanachoo

Gitを初期化せずにdirectoryでコマンドを実行した場合にも起こる可能性があります。その場合は最初に実行します。

git init
5
Jan Pi

githubにアップロードしてからbitbucketにアップロードするように、既に別のストレージ用のプロジェクトを追加している場合は、このタイプのエラーが表示されます。

エラーを取り除く方法:あなたのプロジェクトからgit-hub fileを削除して、以下のステップを繰り返してください...

git init       
git remote add Origin [email protected]:Yourname/firstdemotry.git  
git add -A  
git commit -m 'Message'  
git Push -u Origin master  
4

gitを使うためには、

root

そうでない場合は、Sudoを使用してください

originを削除する場合

git remote削除するOrigin

originを追加する場合

gitリモートでOriginを追加 http:// giturl

3
karan
  • $ git remote add Origin [email protected]:abc/backend/abc.git

    このコマンドでは、Originはコマンドの一部ではなく、単にリモートリポジトリの名前です。好きな名前を付けることができます。

    • まず、以下のコマンドを使用して内容を確認できます

    $ git remote -v

    それはあなたにこのような結果を与えるでしょうOrigin [email protected]:abc/backend/abc.git (fetch) Origin [email protected]:abc/backend/abc.git (Push) Origin1 [email protected]:abc/backend/abc.git (fetch) Origin1 [email protected]:abc/backend/abc.git (Push)

    リモートリポジトリのパスが含まれている場合は、Originを追加しなくても直接プッシュできます。

    • それがあなたのリモートリポジトリパスを含まない場合

    そうすれば、新しいOriginを別の名前で追加して、$ git remote add Origin101 [email protected]:abc/backend/abc.gitのようにそれをPushに使用できます。

    または、既存のOriginの名前を変更してOriginを追加することもできます。

    git remote rename Origin destination

    コマンドの下で再度発砲

    $ git remote -v

    destination [email protected]:abc/backend/abc.git (fetch) destination [email protected]:abc/backend/abc.git (Push)

    そのOriginの名前を使用できるように、既存のリポジトリ名が変更されます。

    あるいは既存のOriginを削除してOriginを追加することもできます。

    git remote rm destination

2
Foram Sojitra

これを試して

  • cd existing_repo
  • gitリモートリネームOrigin old-Origin
1
Sreeraj VR

少なくともbashでは、コマンドの終了コードの戻り値を0にすることができます。

古いリモコンを削除してもう一度追加することができます

git remote remove $1 || true
git remote add $1 $2
0
motia

最初のチェックエイリアスの数とそのエイリアスを確認するには、次のコマンドを実行します。git remote -v

それから、どのリポジトリにいるのかを確認してから、git remote set-url --addを実行してください。

0