Saya baru saja melakukan proyek di Github. Saya membuat modifikasi dan mengirim permintaan tarik. Pemiliknya menggabungkan garpu saya dengan proyek utama dan setelah itu ia membuat beberapa modifikasi. Jadi untuk sekarang garpu saya tidak diperbarui dengan proyek utama. Saya kehilangan modifikasi yang dibuatnya setelah menggabungkan permintaan tarik saya. Bagaimana saya bisa memperbarui garpu saya dengan proyek Utama? Apakah ada cara untuk melakukan itu di antarmuka web?
Terima kasih
Jawaban:
Secara desain, forking suatu proyek menciptakan repo terpisah yang tidak diperbarui ketika repo asli berubah. Namun,
git
membuatnya cukup mudah untuk memperbarui secara manual.Anda memerlukan bantuan repositori ke-3 (salinan lokal Anda sudah mencukupi). Ada 3 repo:
git clone [email protected]:your-username/projectname.git
, dan bahwa semua orang menggunakan cabangmaster
.Dengan asumsi "Asal" dan "Lokal" saat ini berada dalam keadaan yang sama, dan "Hulu" berada di depan dengan 1 atau lebih komit (gabungan dan perubahan berikutnya).
Pertama-tama tambahkan proyek upstream sebagai remote Git :
Kemudian tarik (artinya ambil lalu gabungkan secara otomatis) perubahan dari
master
cabang jarak jauh ke cabang repositori lokal Anda saat ini (master
):Sekarang repositori lokal Anda sinkron dengan
upstream
. Akhirnya, dorong repo lokal Anda ke garpu Github Anda:Sekarang semuanya sinkron.
sumber
Anda perlu menambahkan remote (lihat bantuan GitHub ) dan tarik dari remote baru itu.
sumber
Saya menemukan jawaban ini untuk melengkapi jawaban asli karena hanya berurusan dengan sinkronisasi satu cabang (master). Selain itu, jika cabang telah dibuat di hulu sejak garpu Anda, itu sedikit lebih terlibat untuk membuatnya di garpu Anda.
Jawaban singkatnya adalah, untuk memperbarui garpu Anda dengan setiap cabang di repositori hulu, jalankan perintah ini.
Apa yang tidak dilakukan adalah menghapus cabang dari garpu Anda yang telah dihapus dari hulu. Tidak ada cara untuk mengotomatisasi itu terutama jika Anda telah membuat cabang di cabang Anda.
sumber