回答:
gitでは複数のリモートリポジトリを使用できます。しかし、あなたは私が信じている2つのリモコンに別々に押し込む必要があるでしょう。
たとえば、プロジェクトが現在githubを指している場合、現在のリモートリポジトリの名前を次のように変更できますgithub
。
$ git remote rename origin github
次に、別のリモートリポジトリを追加できますbitbucket
。
$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git
githubまたはbitbucketの対応するブランチに変更をプッシュするために、これを行うことができます:
$ git push github HEAD
$ git push bitbucket HEAD
同じルールがプルに適用されます。プルするリモートを指定する必要があります。
$ git pull github your_branch
$ git pull bitbucket your_branch
.ssh/config
ファイルはこのセットアップを達成するための鍵です。使用するものを識別するためにa Host github.com
とa Host bitbucket.org
を追加IdentityFile
します。そうすれば、bitbucketとgithubの間でスワップしようとするときに、アクセス拒否エラーが発生することはありません。これが誰かを助けることを願っています。
はい、できます。2回プッシュする必要はありませんが、両方のリモートリポジトリにプッシュするのは1回だけです。以前同じ問題があったので、その方法をここに書きました。 Git:GithubとBitbucketの両方にプッシュ/プル
いくつかの簡単なソリューション。
これは頭を動かすのに最も簡単ですが、維持するのに最も努力が必要です。
新しいリモートを追加することから始めます。
$ cd myproject
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git
$ git push bitbucket master
まっすぐ進む?もちろん、変更をコミットするたびに、元の「オリジン」と新しいリモートの「ビットバケット」の両方にプッシュする必要があります。
$ git push origin master
$ git push bitbucket master
大きなオーバーヘッドではありませんが、時間の経過とともにすり減ると確信しています。または、 `エイリアスgpob =" git push origin master && git push bitbucket master "を作成できます。
このメソッドを使用して、既存のリモート「オリジン」にURLを追加します。
$ cd myproject
$ git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git
$ git push origin master
Everything up-to-date
Everything up-to-date
はるかに少ない労力!
もちろん銀の裏地には雲があり、この場合、同時に複数のURLにプッシュできますが、元の「起源」からしかフェッチできません(これは変更できますが、この投稿の範囲外です) )。
最後に、どのリモートからフェッチされるかを確認します。
$ git remote -v show