Permintaan tarik dibuat sehingga seseorang dapat meninjau pekerjaan, membuat komentar, saran, membuat atau meminta suntingan dan kemudian menggabungkan kode untuk dikuasai.
Dalam kasus Anda seseorang itu adalah Anda.
Sebagai satu-satunya pengembang Anda masih harus meninjau pekerjaan Anda sendiri, refactor dan menggabungkannya untuk dikuasai ketika siap.
Salah satu pendekatan yang sering saya gunakan adalah mencoba 'memakai topi lain', 'coba kepribadian lain'. Jadi duduk sebentar dan tempatkan diri Anda dalam situasi: pemula untuk grup; pengembang junior; kolega yang Anda hormati di masa lalu, dll. Coba dan lihat melalui mata mereka dan coba pikirkan apa yang bisa Anda lakukan untuk membuat perubahan lebih jelas, lebih baik ditulis dengan nama yang lebih baik yang menghindari pengetahuan suku dan domain sebanyak mungkin .
Jadi, seperti yang Anda tunjukkan, Anda harus bekerja di cabang ketika Anda ingin memisahkan fitur dan perubahan yang tidak siap untuk master. Anda dapat melakukan semua itu di cabang (Anda bahkan tidak perlu menarik permintaan untuk mengelolanya jika Anda tetap melakukan tugas PR, tetapi mungkin memberikan struktur yang berguna bagi Anda).
Juga, kadang-kadang saya akan menemukan bahwa perubahan saya tidak berfungsi, tetapi alih-alih kengerian mencoba untuk mundur dari master, mungkin sekarang dicampur dengan perubahan master lainnya, saya hanya bisa melakukan semuanya di cabang yang kemudian dapat saya abaikan / hapus jika mulai salah. Ini adalah manfaat yang sangat besar.
Jadi, Anda harus bekerja di cabang dan tidak berkomitmen langsung untuk menguasai sampai Anda memutuskan untuk menggabungkan seluruh cabang.
Ini adalah pedoman - dan bukan aturan - untuk diikuti. Terkadang saya sengaja mematahkannya. Misalnya, kemarin saya melakukan perbaikan kesalahan ketik untuk dikuasai.
Permintaan tarikan biasanya akan digunakan untuk ulasan kode atau kontribusi dari pengguna dengan garpu proyek mereka sendiri - untuk satu pengembang pada proyek saya tidak benar-benar melihat tujuan.
sumber
Alasan saya melakukannya, adalah bahwa ini adalah cara yang mudah untuk memastikan bahwa semua pemeriksaan otomatis lulus (kompilasi, ia memiliki format yang benar, tes unit lulus ...).
Saya tidak perlu mewajibkan semua cek lulus untuk setiap komit, tetapi saya ingin kepala cabang utama selalu lulus cek. Saya pikir permintaan tarik adalah cara yang mudah (mungkin bukan satu-satunya).
Secara umum, ini adalah cara untuk menghubungkan kait untuk menyelesaikan perubahan. Tes adalah contoh; @ John menyebutkan membuat catatan rilis sebagai contoh lain.
sumber
Permintaan tarik vs dorongan git akhirnya turun ke salah satu riwayat individu atau bersama. Repositori utama adalah sumber untuk semua perubahan, jika orang lain menarik dari dan berpotensi membuat perubahan lokal, maka permintaan push dapat menyebabkan masalah pengguna tersebut sebagai pohon mereka berasal dari perubahan.
Model permintaan tarik (baik dari cabang kustom atau repositori pribadi) berfungsi sebagai cara untuk memberikan riwayat yang konsisten untuk semua yang menggunakan dan berasal dari kode.
Sebagian alasan Anda meletakkan kode pada github adalah membuat kode tersedia untuk forking, dan menarik permintaan. Anda tidak pernah tahu kapan itu akan terjadi, dan menjaga sejarah co-developer Anda konsisten akan menjadi nilai tambah yang besar.
sumber