Bitbucket ve GitHub'a göndermek istediğim bir depom var. Depomun her ikisi tarafından barındırılması hayati önem taşıyor.
Bunu Git'te yapmanın bir yolu var mı?
Bitbucket ve GitHub'a göndermek istediğim bir depom var. Depomun her ikisi tarafından barındırılması hayati önem taşıyor.
Bunu Git'te yapmanın bir yolu var mı?
Yanıtlar:
Git ile birden fazla uzak depoyu kullanabilirsiniz. Ama inandığım 2 uzaktan kumandanıza ayrı ayrı itmeniz gerekecek.
Örneğin, projeniz şu anda github'ı gösteriyorsa, mevcut uzak deponuzu şu şekilde yeniden adlandırabilirsiniz github
:
$ git remote rename origin github
Daha sonra başka bir uzak depo ekleyebilirsiniz, şunu söyleyin bitbucket
:
$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git
Şimdi değişiklikleri github veya bitbucket üzerindeki ilgili dala göndermek için şunu yapabilirsiniz:
$ git push github HEAD
$ git push bitbucket HEAD
Çekme için de aynı kural geçerlidir: hangi uzaktan kumandadan çekim yapmak istediğinizi belirtmeniz gerekir:
$ git pull github your_branch
$ git pull bitbucket your_branch
.ssh/config
dosyanız bu kurulumu gerçekleştirmenin anahtarıdır. Hangisinin kullanılacağını belirlemek için a Host github.com
ve a ekleyin . O zaman, bitbucket ve github arasında gidip gelmeye çalışırken izin verilmedi hatası almayacaksınız. Umarım bu birine yardımcı olur. Host bitbucket.org
IdentityFile
Evet, bunu yapabilirsiniz. Her iki uzak depoya da itmek için iki kez basmanız gerekmez, yalnızca bir kez. Daha önce de aynı sorunu yaşadım, bu yüzden burada nasıl yapılacağını yazdım. Git: Hem Github hem de Bitbucket'tan İtme / Çekme
Birkaç KOLAY çözüm.
Bu, kafanızı karıştırmanın en kolay yolu, ancak sürdürmek için en çok çaba.
Yeni uzaktan kumandamızı ekleyerek başlıyoruz:
$ cd myproject
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git
$ git push bitbucket master
Dürüst değil mi? Elbette, herhangi bir değişiklik yaptığımız her seferinde, hem orijinal "kökenimize" hem de yeni uzaktan "bitbucket'imize" zorlamamız gerekir:
$ git push origin master
$ git push bitbucket master
Çok büyük bir ek yük değil, ama eminim zamanla güzelleşecek. Veya bir "alias gpob =" git push origin master && git push bitbucket master "oluşturabilirsiniz.
Bu yöntemle, mevcut uzak "kaynağımıza" ek bir URL ekleyeceğiz:
$ 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
Çok daha az çaba!
Elbette gümüş astarın bir bulutu vardır ve bu durumda, aynı anda birden çok URL'ye aktarabilsek de, yalnızca orijinal "başlangıçtan" getirebiliriz (bunu değiştirebilirsiniz, ancak bu, bu gönderinin kapsam dışıdır ).
Son olarak, hangi uzaktan kumandanın alınacağını görmek için:
$ git remote -v show
Ben de bunun hakkında blog yazdım .