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.
他の誰かがこの問題に遭遇したかどうか疑問に思いますか?
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
「致命的:リモート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リポジトリを修正しました。
経由して接続するように設定されているリモートリポジトリを確認できます。
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
これでチュートリアルを再開できます。
まずはじめに:
git remote rm Origin
それから
git remote add Origin https://github.com/your_user/your_app.git
そしてよろしく!私のために働いた!
あなたがテンプレートとして使用した古いリポジトリから始めて新しいリポジトリを作成しているという特別な場合(これがあなたの場合ではないならこれをしないでください)。古いリポジトリの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
あなたがあなたのローカルリポジトリに接続しているリモートリポジトリをチェックする必要があるなら、cmdがあります:
git remote -v
さて、あなたがリモートレポジトリ(例えばOrigin)を削除したいのなら、あなたができることは次のとおりです。
git remote rm Origin
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
ハッピーコーディング.
そのエラーメッセージはあなたのgitディレクトリに既にリモートがあることを示しています。あなたがそのリモコンに満足しているなら、あなたはあなたのコードをプッシュすることができます。そうでない場合、またはあなたがプッシュできない場合:
git remote remove Origin
git remote add Origin [email protected]:ppreyer/first_app.git
ほら!
Gitを初期化せずにdirectoryでコマンドを実行した場合にも起こる可能性があります。その場合は最初に実行します。
git init
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
gitを使うためには、
root
そうでない場合は、Sudoを使用してください
originを削除する場合
git remote削除するOrigin
originを追加する場合
gitリモートでOriginを追加 http:// giturl
$ 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
これを試して
少なくともbashでは、コマンドの終了コードの戻り値を0にすることができます。
古いリモコンを削除してもう一度追加することができます
git remote remove $1 || true
git remote add $1 $2
最初のチェックエイリアスの数とそのエイリアスを確認するには、次のコマンドを実行します。git remote -v
それから、どのリポジトリにいるのかを確認してから、git remote set-url --addを実行してください。