Apakah benar meminta kontributor untuk mengembalikan permintaan tarikan mereka di github

25

Saya memelihara repo github yang relatif populer.

Ketika permintaan tarik baik untuk digabung, saya biasanya meminta penulis untuk mengubahnya kembali menjadi satu komit sebelum saya menggabungkannya (terutama ketika ada beberapa suntingan kecil).

Apakah ini latihan git yang baik? Apakah etiket GitHub ini dapat diterima / standar?

Demikian beberapa manfaatnya:

  • Saya mendapatkan riwayat komit bersih yang bagus di log komit
  • Saya tidak perlu mengubah komit sendiri
  • Ini mendelegasikan beberapa pekerjaan

Beberapa kemungkinan kelemahan:

  • Saya tidak yakin apakah ini etiket yang baik
  • Saya tidak yakin apakah ini latihan git yang bagus
  • Saya biasanya sudah meminta beberapa perubahan lain - ini adalah satu lagi dan saya tidak ingin mengecewakan para kontributor.
Pablojim
sumber
1
Bisakah Anda menggambarkan beberapa manfaat dan kelemahan yang Anda lihat dalam melakukan proses dengan cara ini?
Alex Feinman
1
Beberapa manfaat dan kelemahan tambahan patut dipertimbangkan. bagus: git-bisect dan pembalikan lainnya lebih mudah ketika setiap komit menghasilkan keadaan yang bisa dibangun atau lengkap, dan pendekatan ini adalah cara sederhana untuk menjamin itu. buruk: perubahan kecil dengan pesan komit sederhana bisa dimasukkan ke dalam mega commit. EG "Mengubah baris yang satu ini untuk memperbaiki kasus sudut begitu-dan-begitu" mungkin masuk ke "Menambahkan fitur foo, daftar besar perubahan ". Ini membuat mencari alasan untuk perubahan spesifik sedikit lebih sulit.
Gankro
1
Tidak ada yang salah dengan menetapkan standar. Cukup jelaskan apa yang diharapkan. Contoh: symfony.com/doc/current/contributing/code/patches.html Gulir ke bawah ke Langkah 3: Kirim Patch Anda
Cerad
6
@Granko: "Rebase" dan "rebase menjadi komit tunggal" adalah dua masalah terpisah.
Matthew Scharley
2
Jika seorang kontributor diminta untuk melakukan ini, haruskah mereka menimpa cabang dari permintaan penarikan git push -f?
Flimm

Jawaban:

16

Sejauh yang menyangkut Git, ini adalah perang suci apakah Anda hanya perlu menggabungkan cabang atau rebase melakukan pada versi terbaru dari cabang yang Anda gabungkan. Ada banyak percakapan tentang mana yang lebih baik jika Anda melakukan pencarian cepat di Programmers.SE .

Mengenai etiket di baliknya, mari kita hadapi ini dari perspektif praktis. Ketika berurusan dengan kode baru yang berasal dari orang lain, selalu yang terbaik untuk membuat mereka menggabungkan perubahan terbaru dari cabang atau rebase baru sebelum bergabung untuk memastikan penggabungan yang bersih. Ingat, mereka menulis kode sehingga mereka biasanya yang paling memenuhi syarat untuk menangani konflik penggabungan / rebase. Saya pribadi tidak melihat masalah dengan itu, dan melihat permintaan ini sepanjang waktu dari orang lain. Bagi saya, jika tidak ada konflik maka saya akan sering melakukannya sendiri karena merupakan pembaruan dua detik yang dapat diterapkan git sendiri. Tetapi jika ada konflik maka saya akan selalu meminta pembuat kode asli untuk menghadapinya sendiri.

Juga, untuk GitHub (minimal) secara khusus, mereka akan menampilkan tautan ke CONTRIBUTINGfile Anda di atas upaya PR apa pun sehingga menjadikan tempat yang baik untuk menjabarkan harapan Anda dan banyak proyek menyertakan bahwa mereka hanya akan menggabungkan cabang-cabang terbaru.

Matthew Scharley
sumber
+1 untuk membawa pragmatisme ke dalam diskusi. Ya, itulah intinya. Mungkin sangat sulit untuk menyelesaikan konflik kompleks dalam permintaan tarik besar, terutama ketika sejumlah komitmen terlibat. Itulah titik di mana penulis asli harus diminta untuk berpadu. Konflik mudah bukan masalah, mereka tidak pernah ada dan tidak akan pernah ada.
JensG
1
+1 untuk benar-benar memberikan jawaban dan bukan hanya komentar!
Pablojim