Saya memiliki satu repositori yang ingin saya masukkan ke Bitbucket dan GitHub. Sangat penting bagi repositori saya untuk dihosting oleh keduanya.
Apakah ada cara untuk melakukan ini di Git?
Saya memiliki satu repositori yang ingin saya masukkan ke Bitbucket dan GitHub. Sangat penting bagi repositori saya untuk dihosting oleh keduanya.
Apakah ada cara untuk melakukan ini di Git?
Jawaban:
Anda dapat menggunakan banyak repositori jarak jauh dengan git. Tapi Anda harus mendorong secara terpisah ke 2 dari remote Anda, saya yakin.
Misalnya, jika proyek Anda saat ini mengarah ke github, Anda dapat mengganti nama repositori jarak jauh Anda saat ini menjadi github
:
$ git remote rename origin github
Anda kemudian dapat menambahkan repositori jarak jauh lainnya, misalnya bitbucket
:
$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git
Sekarang untuk mendorong perubahan ke cabang terkait di github atau bitbucket, Anda dapat melakukan ini:
$ git push github HEAD
$ git push bitbucket HEAD
Aturan yang sama berlaku untuk penarikan: Anda perlu menentukan remote mana yang ingin Anda tarik:
$ git pull github your_branch
$ git pull bitbucket your_branch
.ssh/config
file Anda adalah kunci untuk mencapai pengaturan ini. Tambahkan a Host github.com
dan a Host bitbucket.org
untuk mengidentifikasi mana yang IdentityFile
akan digunakan. Maka Anda tidak akan mendapatkan kesalahan izin ditolak mencoba menukar bolak-balik antara bitbucket dan github. Semoga ini bisa membantu seseorang.
Ya, Anda bisa melakukannya. Anda tidak perlu mendorong dua kali tetapi hanya sekali untuk mendorong ke kedua repositori jarak jauh. Saya memiliki masalah yang sama sebelumnya jadi menulis bagaimana melakukannya di sini. Git: Dorong ke / Tarik dari Github dan Bitbucket
Beberapa solusi MUDAH .
Ini adalah cara termudah untuk dipahami, tetapi upaya paling keras untuk dipertahankan.
Kami memulai dengan menambahkan remote baru kami:
$ cd myproject
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git
$ git push bitbucket master
Terus terang bukan? Kecuali tentu saja setiap kali kita melakukan perubahan apa pun, kita perlu mendorong ke "asal" asli dan "bitbucket" jarak jauh baru kita:
$ git push origin master
$ git push bitbucket master
Bukan overhead yang besar, tapi saya yakin itu akan rusak seiring waktu. Atau Anda dapat membuat `alias gpob =" master git push origin && git push bitbucket master ".
Dengan metode ini, kami akan menambahkan URL tambahan ke "asal" jarak jauh kami yang ada:
$ 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
Jauh lebih sedikit usaha!
Tentu saja lapisan perak memiliki awan, dan dalam kasus ini, meskipun kami dapat mendorong ke beberapa URL secara bersamaan, kami hanya dapat mengambil dari "asal" asli (Anda dapat mengubahnya, tetapi itu di luar cakupan untuk posting ini ).
Terakhir, untuk melihat remote mana yang akan diambil:
$ git remote -v show
Saya membuat blog tentang itu juga.