Saya sedang mengerjakan proyek berdasarkan CakePHP , yang dihosting di GitHub . Proyek saya di -host di Bitbucket . Keduanya menggunakan git . Pada dasarnya saya ingin membuat 'garpu' (Saya tidak tahu apakah saya menggunakan istilah yang tepat, karena saya baru mengenal git ) dari CakePHP di repositori Bitbucket saya, agar dapat memperoleh pembaruan tanpa perlu mengunduh semua zip / tar CakePHP dan mengganti folder, lalu komit dan tekan, tapi mungkin dengan 'gabungan' (?).
160
Jawaban:
Tidak mungkin mengirim "tarik permintaan" di berbagai situs hari ini. Saya telah menambahkan permintaan fitur untuk ini di pelacak masalah Bitbucket: # 3288 . Saya sarankan Anda menambahkan diri Anda sebagai pengikut jika Anda ingin melacak ini.
Namun, Anda masih dapat memindahkan sumber dari GitHub ke Bitbucket tanpa harus mengunduh file zip atau tarbal. Anda membuat klon dari GitHub dan mendorong ke Bitbucket:
Saya buat
mg/cakephp
sebagai repositori Git kosong di Bitbucket terlebih dahulu. Dengan begitu Anda bisa mendorong / menarik perubahan dari GitHub ke Bitbucket.sumber
cd cakephp
di antara dua perintah. Jelas untuk yang bukan pemula, tetapi pemula mungkin bertanya-tanya mengapa itu tidak berhasil.fork
. Cabang dan Tag TIDAK disalin ke BitBucket.Alur kerja di bawah menambahkan repositori github sebagai remote baru yang disebut
sync
dan bitbucket sebagai remoteorigin
. Itu juga menambahkan cabang dipanggilgithub
untuk melacak repositori github dan cabang dipanggilmaster
untuk melacak repositori bitbucket. Ini mengasumsikan Anda memiliki repositori bitbucket yang disebut "myrepository" yang kosong.Pengaturan jarak jauh
Cabang pengaturan
Sekarang Anda harus memiliki
github
cabang lokal yang melacak cabang github repomaster
. Dan Anda harus memilikimaster
cabang lokal yang melacak repo bitbucket (master
cabang secara default).Ini membuatnya mudah untuk melakukan tarik pada
github
cabang, lalu menggabungkan perubahan itu kemaster
cabang (rebase lebih disukai daripada gabungan) dan kemudian Anda dapat mendorongmaster
cabang (akan mendorongnya ke bitbucket).sumber
--set-upstream
sudah usang ... Tapi ini berfungsi selama Anda membuatgithub
cabang sebelum mencoba mengatur repo hulu.git fetch
dangit branch --track github sync/master
git checkout github
dangit checkout -b master
setelah perintah git branch. Anda akan berakhir dengan cabang-cabang itu (git branch -a
): github, master, remote / asal / master, remote / sync / masterJika Anda ingin memperbarui repo Anda, gunakan dua remote: Github (
upstream
) dan Bitbucket (origin
) seperti ini:Untuk menarik pembaruan ke CakePHP dari Github:
Untuk mendorong perubahan kode Anda ke Bitbucket:
sumber
git
perintah pertama , kan? Ini adalah cara untuk pergi ....git push --all --mirror origin
. Jawaban diperbarui.fatal: --all and --mirror are incompatible
Juga:git pull upstream master
Melempar kesalahan fatal.fatal: Couldn't find remote ref master
Saat membuat repositori baru di BitBucket, klik tombol
Import repository
di kanan atas. Masukkan url https yang ditemukan saat mengklikClone or download
di Github untuk repositori yang ingin Anda garpu.Beri nama repositori Anda, konfigurasikan pengaturan privasi Anda, dan mulai lagi!
sumber
Saya telah memperhatikan bahwa sejak jawaban @Martin Geisler, Bitbucket telah mengaktifkan fitur untuk mengimpor repositori dari github.com
Saya berhasil mengimpor repo pribadi dari github.com ke repo pribadi di bitbucket.org
Berikut langkah - langkahnya :
Perhatikan tautan impor repositori di sudut kanan atas tangkapan layar
sumber
Saya kira Anda hanya ingin mengunduh repositori dengan proyek Anda dengan mudah ... dan bahwa Anda TIDAK akan berkontribusi pada cakePHP, benar?
jika demikian, Anda hanya perlu menambahkan referensi eksternal ke repo Anda.
SVN: ekuivalen eksternal dalam GIT?
Dan kemudian, bahkan jika Anda ingin berkontribusi pada cakePHP, Anda dapat melakukannya di repo asli.
sumber