新しいオリジンは、新しいリポジトリへの「git push」にすでに存在します


548

私のプロジェクトはGitHubのどこかの場所にありgit@github.com:myname/oldrep.gitます。

ここで、すべてのコードを他の場所にある新しいリポジトリにプッシュしたいと思いますgit@github.com:newname/newrep.git

私はコマンドを使用しました:

git remote add origin git@github.com:myname/oldrep.git

しかし私はこれを受けています:

致命的:リモートの起点はすでに存在しています。


6
コマンドの出力を$> git remote -v show
sykora


古いリポジトリのURLがわかっている場合は、新しく作成したリポジトリの下部にある「別のリポジトリからインポート」を使用することをお勧めします。
JW.ZG 2016

同様の質問がここで尋ねられました:stackoverflow.com/questions/2432764/…–
jciloa

1
あなたは、元のリモートを維持したい場合は、単に別の名前を使用することができgit remote add origin2 ....しかし、あなたが唯一のレポの設定を変更せずに一度プッシュする必要がある場合、あなたは簡単に行うことができますgit push git@github.com:user/another-project.git master:master
-ccpizza

回答:


870

「origin」が使用できないため、このエラーが発生しています。「origin」はコマンドの一部ではない規則です。「origin」は、リモートリポジトリのローカル名です。

たとえば、次のように書くこともできます。

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

マニュアルを参照してください:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

リモートリポジトリを削除するには、次のように入力します。

git remote rm origin

ここでも、「上流」のリモートを削除する場合、「原点」はリモートリポジトリの名前です。

git remote rm upstream

8
「git remote rm origin」は機能しません。機能しない場合は、「git remote -v」で確認しようとすると、オリジンにURLが設定されているかどうかが表示されます。 initをローカルで実行し、それをリモートにプッシュしようとしていて、私のように失敗しました)。次に、RobinHの回答に従ってください:git remote set-url origin git@github.com:username / projectname.git
Clarence Liu

1
URLを強制するには、この回答を確認してください。
srodriguex 2014年

「git remote rm origin」は魅力的に機能しました。:) puhh、私はgitの用語に慣れていないので、より大きな検索でしたが、あなたの答えは私を大いに助けてくれました。:) ありがとうございました!
Martin Pfeffer、

3
git push -u origin master --force
ロニーロイストン

--forceが解決策です!
作成者

260

以前の解決策は起源を無視しているようであり、それらは別の名前を使用することを提案するだけです。使いたいだけgit push originなら読み続けてください。

Git設定の順序が間違っているため、問題が発生します。すでに.git設定に「git origin」を追加している可能性があります。

次の行を使用して、Git構成のリモートオリジンを変更できます。

git remote set-url origin git@github.com:username/projectname.git

このコマンドは、プッシュ先のGitリポジトリの新しいURLを設定します。重要なのは、独自のユーザー名プロジェクトを入力することです


7
ありがとう、まさに私がしなければならなかったこと:)
winkbrace 2013年

これは私にとってそれを修正しました。しかし、この問題で本当に私を助けたのは、Gihub for Windowsと共にインストールされたPortableGitを使用したためです。私はここで
PerseP 2014年

すごい!意味のあるリポジトリをgit labリポジトリに変更する必要があり、このソリューションは完璧でした。ありがとうございました!
Marcelo dos Santos

OPと同じ状況で、これを実行してから@MrHusのソリューションを実行する必要がありました。
Sean the Bean

4
これが最良の答えです。私見
kratos

83

ローカル名を誤って「origin」と指定した場合は、次のようにしてローカル名を削除できます。

git remote rm origin

「ローカル名を誤って 'origin'と名付けた」とはどういう意味ですか?詳細に説明できますか?@Ozgur
Yuan Wen

1
これは、gitリポジトリを指さないリモートオリジンを追加したことを意味する場合があります。したがって、すべての変更をマスターにプッシュすることを計画している場合、gitはリモートの起点がgitリポジトリではないことを報告します。
Gautham Honnavara 2017

22

方法1->

オリジンはすでに存在しているため、削除してください。

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

方法2->

-> git remote set-urlで既存のリモートリポジトリURLを変更することもできます

HTTPSを使用するように更新する場合

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

SSHを使用するように更新する場合

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

存在しないリモートを更新しようとすると、エラーが発生します。ですので注意してください。

方法3->

git remote renameコマンドを使用して、既存のリモートの名前を変更します。既存のリモート名、たとえばorigin。

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

リモートの新しい名前を確認するには->

git remote -v

Gitが初めての場合は、このチュートリアルを試してください->

GITチュートリアルを試す


1
どうもありがとう。私はダウンロードされました。他の誰かがgitを使用していて、それを私のGitHubにも複製したいと思っていました。最後に、私はあなたの最初の方法を使用して成功しています。
Naimur Hasan

17

テキストエディターで構成ファイルを編集するだけです。

では~/.gitconfig、あなたは何かに置く必要があるように、以下:

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

oldrep/.git/config、ファイル(リポジトリの設定ファイル内):

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

リポジトリの構成ファイルにリモートセクションがあり、URLが一致する場合は、プッシュ構成を追加するだけで済みます。取得にパブリックURLを使用する場合、プッシュ用のURLを「pushurl」として入力できます(警告:これにはリリースされたばかりのGitバージョン1.6.4が必要です)。


10
  1. git remote rm origin

  2. git remote -v リポジトリ名は表示されません

  3. git remote add origin git@github.com:username/myapp.git

  4. git push origin master プロセスが開始され、新しいブランチが作成されます。作業がgithubにプッシュされていることがわかります。


8

既存の「origin」リモートを削除する必要はありません。リモート追加には「origin」以外の名前を使用してください。

git remote add github git@github.com:myname / oldrep.git


8
git remote rm origin
git remote add origin git@github.com:username/myapp.git

6

同じ問題が発生しましたが、いくつかの調査を行った後、次のように修正しました。

  1. GitHub for Windowsをダウンロードするか、シェルを含む同様のものを使用します
  2. Git Shellタスクメニューからを開きます。これにより、Gitコマンドを含むPower Shellが開きます。
  3. シェルで、古いリポジトリに切り替えます。 cd C:\path\to\old\repository
  4. 古いリポジトリのステータスを表示する

  5. 次を使用して、リモートリポジトリをローカルリポジトリから削除します。

    git remote rm origin
    
  6. 手順4でもう一度確認しoriginます。フェッチとプッシュのパスではなく、表示されるだけです。

  7. 古いリモートリポジトリが切断されたので、新しいリモートリポジトリを追加できます。以下を使用して、新しいリポジトリに接続します。

注:Bitbucketを使用している場合は、最初にBitbucketでプロジェクトを作成します。作成後、Bitbucketはリポジトリをリモートにプッシュするために必要なすべてのGitコマンドを表示します。これは次のコードスニペットに似ています。ただし、これは他のリポジトリでも機能します。

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

それでおしまい。


5

Bitbucketを使用して最初に設定したときも、同じ問題がありました。

私の問題は、自分で定義したものの語源を変更する必要があることでした。アプリケーションの名前を使用しました。そう:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

4

リモートリポジトリの名前を別の名前に変更する必要があります。

git remote add origin git@github.com:myname/oldrep.git

git remote add neworigin git@github.com:myname/oldrep.git

これでうまくいくと思います。

はい、これらはリポジトリの初期化と新しいリモートの追加用です。名前を変えるだけで。


3

REPOHOME / .git / configファイルでプッシュしたいリポジトリ名を変更することもできます

(ここで、REPOHOMEはリポジトリのローカルクローンへのパスです)。



0

を確認し、origin存在しない場合は追加する必要があります。

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

ファイルを作成しcheck.sh、スクリプトを貼り付けてgitリポジトリのURLを更新して実行し./check.shます。


0

ステップ1

git remote rm origin

ステップ2

git remote add origin enter_your_repository_url

例:

git remote add origin https://github.com/my_username/repository_name.git

-1

まず、削除されたリモート用に次のコード行を記述します。

$ git remote rm origin

そして、この行を書きます:

$ git remote add origin https://github.com/khadim321/React-Form.git

正常に動作しています。


回答の価値を高めるために、説明を増やしてください
Zeina

それが誰かがあなたのgithubリポジトリの1つをリモートオリジンとして追加するのに役立つかどうかはわかりません。この質問はすでに数回回答されています。このような低品質の新しい質問を作成する前に、他の質問を確認してください。
thmspl

-1

github内の同じプロジェクトで新しいリポジトリを作成する場合、以前のリモートではそれを実行できません。その場合は、まずgithubでそのリポジトリを削除してから、.gitフォルダC:\ Users \ を削除するだけです。Shiva \ AndroidStudioProjects \ yourprojectname \ .gitはそのフォルダーを削除します(このフォルダーは非表示になっているため、非表示のファイルをクリックしてください)

また、androidスタジオからマイナス(削除ボタン)を クリックします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.