Apa yang harus dilakukan selanjutnya adalah: memberikan kontribusi fitur baru atau memperbaiki bug lain di cabang khusus mereka sendiri (didorong hanya ke garpu Anda).
Artinya garpu Anda tetap ada, tetapi cabang di dalam garpu Anda bisa datang dan pergi.
Anda juga dapat menghapus garpu jika tidak berencana untuk berkontribusi lebih lanjut, tetapi ini akan menghapus entri terkait di 'Repositori tempat Anda berkontribusi' .
Lebih mudah untuk:
- hapus
fixcabang Anda (sebenarnya, sekarang sudah dihapus untuk Anda ) di garpu Anda (dan di repo kloning lokal Anda: lihat " Menghapus cabang Git baik secara lokal maupun jarak jauh ")
git pull upstream master(jika mastermerupakan cabang di mana perbaikan Anda telah terintegrasi: penggabungan akan menjadi yang maju cepat): tidak diperlukan rebase pada saat ini.
- buat ulang cabang perbaikan di atas lokal Anda yang diperbarui
master(sekarang dengan yang terbaru dari upstream master).
Namun, jangan pernah melupakan satu langkah pun sebelum mengirimkan pull request apa pun di masa mendatang :
rebase dulu cabang Anda saat ini ( fix) dari cabang tujuan hulu
( upstreammenjadi repo asli Anda bercabang: lihat " Apa perbedaan antara origin dan upstream di github ")
Sebelum mengirimkan apa pun kembali ke repo asli ("upstream"), Anda perlu memastikan bahwa pekerjaan Anda didasarkan pada yang terbaru dari repo asli tersebut (atau pull-request tidak akan menghasilkan penggabungan maju cepat setelah diterapkan kembali ke upstreamrepo).
Lihat, misalnya, " Alur kerja untuk mengelola permintaan pull pada repositori bersama di github ".
Dengan kata lain, upstreamdapat berkembang (memiliki komitmen baru yang mendorongnya) saat Anda sibuk memperbaiki sesuatu. Anda perlu mengulang perbaikan Anda di atas pekerjaan terbaru dari hulu untuk memastikan komit Anda masih kompatibel dengan yang terbaru upstream.
The OP Santosh Kumar meminta di komentar :
Saya telah menarik dan bergabung dari upstreammenjadi master, sekarang apa?
Jika Anda belum membuat perbaikan baru sejak pull request baru-baru ini, lihat di atas (hapus dan buat ulang cabang baru fixdi atas pembaruan Anda master).
Jika Anda telah melakukan pekerjaan lagi sejak permintaan penarikan Anda, saya tidak akan menggabungkan dari upstreamjika saya ingin membuat permintaan penarikan baru : Saya akan menarik dan mengubah basis :
git pull --rebase upstream master
Dengan cara itu, semua pekerjaan lokal baru saya diputar ulang di atas upstream masterkomit terbaru (diambil di repo lokal saya), anggaplah itu masteradalah cabang target yang akan mengintegrasikan permintaan penarikan saya di masa mendatang.
Kemudian saya dapat mendorong pekerjaan lokal saya ke ' origin', yang merupakan cabang saya di GitHub dari upstream.
Dan dari garpu saya di GitHub, saya dapat dengan aman membuat permintaan tarik, mengetahui bahwa itu hanya akan menambah komitmen baru upstreamtanpa memerlukan resolusi penggabungan: menggabungkan komit baru itu dalam upstreamrepo akan berarti penggabungan maju cepat yang sederhana.
A git pull --rebasetanpa menentukan cabang di atasnya yang ingin Anda rebase, fixcabang Anda (saat ini diperiksa) tidak akan berfungsi:
Itu ( git pull --rebase) mengatakan:
You asked to pull from the remote '`upstream`', but did not specify a branch.
Haruskah saya menambahkan master pada akhirnya? Dan apa yang akan dilakukannya ?, apakah ini akan menghapus fixcabang saya ?
Ya, Anda dapat menentukan cabang yang akan menjadi target permintaan penarikan, misalnya ' master'.
Itu tidak akan menghapus fixcabang Anda , tetapi akan memutarnya di atas upstream yang masterdiambil di repo Anda.
:)