プロジェクトはGitに2つ(またはそれ以上)の「起源」を持つことができますか?
単一のプロジェクトを github と Herok サーバーの両方にプッシュしたいと思います。
具体的には、githubリポジトリを追加するときにこのエラーが表示されます。
$ git remote add Origin https://github.com/Company_Name/repository_name.git
fatal: remote Origin already exists.
remotesをいくつでも持つことができますが、「Origin」という名前のリモートは1つしか持てません。 「Origin」と呼ばれるリモートは、既存のリポジトリを複製するときにGitによって作成されるデフォルトのリモートであることを除いて、特別なものではありません。 2番目のリモートを設定し、そのリモートからプッシュ/プルし、いくつかのブランチを設定して、Originではなくそのリモートからのブランチを追跡できます。
代わりに「github」というリモートを追加してみてください。
$ git remote add github https://github.com/Company_Name/repository_name.git
# Push master to github
$ git Push github master
# Push my-branch to github and set it to track github/my-branch
$ git Push -u github my-branch
# Make some existing branch track github instead of Origin
$ git branch --set-upstream other-branch github/other-branch
後でこの質問に出くわした場合の補足として、一度に複数のgitリポジトリサーバーにOrigin Pushを行うことができます。
これを実現するには、次のコマンドを使用して別のURLをOriginリモートに追加します。
git remote set-url --add Origin ssh://[email protected]/user/myproject.git
複数のリモート、GitHubおよびGitLabを使用したサンプルプロジェクトを次に示します。
GitHubのリモートリポジトリを追加する
$ git remote add github https://github.com/Company_Name/repository_name.git
GitLabのリモートリポジトリを追加する
$ git remote add gitlab https://gitlab.com/Company_Name/repository_name.git
これで、プロジェクトに複数のリモートができました。 git remote -v
で再確認してください
$ git remote -v
github https://github.com/Company_Name/repository_name.git (fetch)
github https://github.com/Company_Name/repository_name.git (Push)
gitlab https://gitlab.com/Company_Name/repository_name.git (fetch)
gitlab https://gitlab.com/Company_Name/repository_name.git (Push)
複数のリポジトリにどのようにプッシュしますか?
$ git Push github && git Push gitlab
originの代わりに別の名前を指定して、リポジトリに別のリモートアカウントを追加できます。 Origin2などの名前を使用できます。 gitコマンドは次のように変更できます
git remote add Origin2 https://github.com/Company_Name/repository_name.git
git remote add Origin2 https://github.com/Company_Name/repository_name.git
プッシュ使用の場合:
git Push -u Origin2 master