Saya baru mengenal GitHub dan VCS secara umum. Saya telah pemrograman dalam berbagai bahasa selama bertahun-tahun, tetapi saya selalu bekerja sendiri pada proyek-proyek khusus (tidak ada rilis publik). Saya baru-baru ini mulai menggunakan widget jQuery UI yang saya unduh dari GitHub dalam proyek yang sedang saya kerjakan. Repo tidak lagi dikelola oleh penulis asli. Garpu lain telah memasukkan beberapa permintaan tarik asli. Ini yang saya potong dari.
Saya menemukan beberapa bug dan membuat perbaikan untuk mereka. Saya ingin berkontribusi perbaikan ini, tetapi saya juga memiliki banyak perubahan lain yang ingin saya buat, untuk penggunaan kita sendiri, yang akan merusak beberapa fitur yang ada. Plus, saya ingin memasukkan ide dari garpu lain.
Saya masih belajar GIT dan GitHub dan saya mencoba mencari cara terbaik untuk melakukan segalanya. Saya telah melakukan banyak pembacaan (di sini, SO, halaman bantuan GitHub, Pro Git) tentang berbagai konsep / tugas: alur kerja, penggabungan, permintaan tarik, pengambilan ceri, rebasing, percabangan. Materi abu-abu saya berenang dan saya harus mulai melakukannya sehingga saya bisa lebih memahami apa yang saya baca.
Masalah utama:
Saya pikir saya membaca (di suatu tempat) bahwa Anda hanya dapat memiliki satu permintaan tarik pada cabang sekaligus. Jadi apakah itu berarti saya harus memiliki cabang terpisah untuk setiap bug dan kemudian melakukan permintaan tarik terpisah untuk masing-masing bug?
Saya ingin membersihkan masalah spasi putih dan sepertinya saya ingat pernah membaca bahwa yang terbaik adalah melakukan ini dalam komit terpisah. Haruskah saya melakukan ini di tuan saya atau cabang terpisah? Saya tidak ingin melakukan permintaan tarik untuk sesuatu yang sepele , tetapi jika saya membuat perubahan spasi putih sebelum bercabang, apakah itu akan memengaruhi permintaan tarik untuk perbaikan bug? Beberapa fork melakukan pembersihan spasi dan itu secara efektif membuat diff tidak berguna.
Saya berpikir untuk membuat masalah terhadap garpu saya sebagai cara mendokumentasikan bug meskipun saya sudah memiliki perbaikan untuk mereka. Apakah itu ide yang bagus? Bagaimana cara saya menghubungkan semua masalah, komit, dan gabungan untuk dikuasai? Jika saya melakukan permintaan tarik ke atas, apakah masalah saya juga muncul di atas atau akankah tautan dokumentasi hilang? Saya tidak dapat membuka masalah terhadap repo hulu (tidak ada tab masalah).
Apa cara terbaik untuk memberi penghargaan kepada penulis garpu lain atas gagasannya yang ingin saya gunakan? Saya tidak dapat menggunakan kodenya dengan tepat, terutama karena perubahannya diterapkan terhadap versi upstream yang lebih lama dan tidak kompatibel dengan perubahan saya yang lain sebagaimana adanya. Tapi saya ingin menggunakan ide dan saya ingin memberikan kredit di mana kredit jatuh tempo. Haruskah saya menautkan ke repo-nya (atau profil atau komit tertentu) dalam pesan komit saya?
Apa etiket tentang mengubah file readme dan DocBlock di bagian atas file utama? Apakah boleh melakukan perubahan, menambahkan nama saya, menambahkan tautan ke repo dan demo saya, menghapus tautan ke demo asli (karena garpu saya pada akhirnya tidak sesuai dengan yang asli)? Tentu saja, saya akan meninggalkan nama penulis asli dan informasi lisensi. Sebagai catatan, ini dilisensikan di bawah lisensi MIT.
Sebagai pengembang solo yang tidak pernah menggunakan VCS, saya terbiasa menulis ulang sejarah . Saya seorang perfeksionis dan suka hal-hal yang rapi dan rapi. Gagasan mencatat sejarah membuat saya sedikit gugup dan saya ingin melakukannya dengan benar pertama kali . Saya telah membuat repo baru untuk dimainkan / dipelajari, tetapi saya ingin segera memperbaiki widget jQuery UI sehingga saya dapat melanjutkan proyek saya.