Mengapa orang-orang menggunakan repositori di GitHub? [Tutup]

110

Saya perhatikan bahwa banyak akun GitHub hanya memiliki repositori yang bercabang dari akun lain. Selain itu, orang yang melakukan ini biasanya tidak memberikan kontribusi apa pun ke repositori bercabang dua.

Saya pernah mendengar ada orang yang mengumpulkan prangko dan kerang, tetapi mengapa ada orang yang mau mengumpulkan repositori? Secara pribadi saya hanya akan menggunakan repositori jika saya ingin membuat beberapa perubahan.

Aadit M Shah
sumber
84
mereka ingin memastikan bahwa mereka memiliki cadangan yang stabil seandainya pemilik proyek menghapus reposnya dan menghilang
ratchet freak
9
Hanya karena begitulah cara tarik permintaan bekerja di GitHub (dan karena orang-orang agak senang dan kemudian kadang-kadang melupakannya, atau meninggalkan gagasan proyek mereka dan lupa menyingkirkan garpu)
haylem
2
hanya sebuah komentar, seperti yang saya pahami mereka gunakan sebagai "cadangan" kode, tetapi mereka lupa (atau tidak tahu) bahwa memperbarui repositori tidak mempengaruhi "garpu", ketika mereka harus melakukan garpu yang benar (untuk cadangan) dan "Membintangi" repositori untuk mengetahui kapan harus melakukan "re-fork", dengan kata lain, mereka berpikir "fork" hampir sama dengan "Star" dan tidak menyadari mempertahankan kode yang ketinggalan zaman.
Guilherme Nascimento
1
Karena mereka pernah mendengar bahwa memiliki Github sudah cukup untuk dipekerjakan di sebuah startup baru.
Gayus
1
Berikut adalah posting tentang bahaya tidak ada alasan forking zbowling.github.io/blog/2011/11/25/github
gavenkoa

Jawaban:

69

Dalam pekerjaan kita, kita cenderung mencari alasan teknis, tetapi menurut saya alasan utamanya bukan teknis. Jika Anda melihat Bantuan GitHub atau tutorial GitHub lainnya, foro repo adalah salah satu langkah utama untuk bagaimana Anda "melakukan" GitHub.

Ketika orang-orang belajar dan mengevaluasi GitHub, hampir setiap tutorial di luar sana akan memberitahu mereka untuk membayar repo sebagai bagian dari proses belajar itu. Karena tujuan utama GitHub adalah untuk berkontribusi, banyak orang yang bekerja melalui tutorial standar tidak menyadari jika Anda hanya ingin klon read-only Anda tidak harus melakukan garpu terlebih dahulu.

Karl Bielefeldt
sumber
42
Sejalan dengan alasan non-teknis: Saya telah mengklik tombol 'garpu' beberapa kali berharap untuk melihat siapa yang membayar repo, hanya untuk menemukan bahwa saya telah memotongnya. Aduh! Tidak yakin apakah orang lain melakukan hal yang sama.
gdw2
53
@ gdw: Membuat Anda berseru, "Oh, fork!"
Ben Jackson
1
Saya ingat ketika saya pertama kali belajar tentang git dan Github, saya melakukan beberapa forking hanya karena panduan dan tutorial tampaknya mengusulkan sebagai yang cara untuk mendapatkan salinan sendiri dari kode di komputer Anda.
rmac
Kami menggunakan GitLab di tempat kerja, jadi saya tahu betul perbedaan antara clone dan fork. Saya juga berpendapat bahwa Anda tidak perlu membayar jika Anda tidak ingin mengeluarkan permintaan tarikan (gabung untuk GitLab).
cst1992
3
@ Jesse, tidak apa-apa untuk dilakukan, tetapi biasanya tidak perlu dalam kasus itu. Perusahaan mungkin melakukannya untuk kode yang mereka andalkan untuk memastikan yang asli tidak tiba-tiba hilang. Jika yang ingin Anda lakukan adalah membangun dari sumber, klon lebih sederhana.
Karl Bielefeldt
101

Seperti yang Anda sebutkan dalam pertanyaan Anda, orang-orang membayar repositori ketika mereka ingin mengubah kode, karena Anda tidak memiliki akses tulis ke repositori asli (kecuali jika Anda telah ditambahkan sebagai kolaborator oleh pemilik repositori).

Dalam repositori bercabang mereka memiliki akses tulis dan dapat mendorong perubahan. Mereka bahkan dapat berkontribusi kembali ke repositori asli menggunakan permintaan tarik .

Saya pikir ada beberapa alasan mengapa orang mengambil repositori tetapi tidak mengubahnya:

  • mereka mungkin mengambil repositori yang terlihat keren, cukup garpu (karena mudah (hanya satu klik)) dan ingin melakukan perubahan nanti (dan kemudian mungkin lupa / tidak punya waktu untuk melakukannya)
  • mereka bercabang repositori untuk membuat perubahan dan kemudian menemukan bahwa perubahan itu tidak perlu dan lupa untuk menghapus repositori sendiri
  • mereka mungkin membayar repositori karena salah satu proyek bergantung pada repositori lain (mungkin melalui submodul) dan mereka menginginkan kontrol total atas repositori yang digunakan sebagai dependensi (pemilik repositori asli mungkin memutuskan untuk pindah dari github ke kode google dll. )
  • mereka mungkin lupa untuk mendorong komitmen
MarcDefiant
sumber
5
Saat Anda tidak menggunakan Github, Anda akan menggunakan rute old-school dan membuat salinan kloning proyek lokal sehingga Anda dapat memodifikasinya. Forking on github memberi Anda akses untuk menarik permintaan yang disukai oleh banyak proyek. Jika Anda berada di proyek lain, Anda akhirnya akan membuat tambalan dan mengirimkannya untuk ditinjau.
Rudolf Olah
Ini adalah proses satu langkah sederhana untuk menyiapkan cabang pelacakan jarak jauh. Siapa pun yang telah mencoba berkontribusi pada repositori git di luar GitHub tahu betapa membosankannya itu. Plus, jika penulis asli menggunakan AFK, Anda dapat mengikuti grafik pengembangan untuk menemukan garpu yang masih dikembangkan secara aktif. Mudah-mudahan, itu akan menjaga GitHub dari merosot menjadi tanah kosong proyek mati seperti yang dilakukan SourceForge.
Evan Plaice
Bagaimana jika Anda melakukan proyek tetapi tidak melakukan perubahan. Apakah ini dianggap ilegal?
Jesse
@Jesse Semua Gudang Publik di GitHub harus memiliki Lisensi Sumber Terbuka (itulah Ketentuan Layanan mereka) dan karenanya tidak ada masalah sama sekali. Terutama saat Anda tidak melakukan perubahan.
MarcDefiant
28

Salah satu alasan yang mungkin: mereka memiliki kode yang berjalan yang bergantung pada proyek-proyek itu dan proses pembuatannya melibatkan penarikan ketergantungan dari github. Memiliki garpu melindungi mereka terhadap perubahan yang melanggar. Untuk proyek yang tidak menandai versi, ini adalah cara termudah untuk mencapainya.

Michael Borgwardt
sumber
3
Mereka dapat memperbaiki untuk melakukan nomor atau versi yang diterbitkan dari versi rilis aplikasi.
Roman M. Koss
26

Seluruh poin dari Github adalah "kode sosial" .

Secara pribadi, saya garpu repositori ketika:

  • Saya ingin melakukan perubahan.
  • Saya pikir proyek ini menarik dan mungkin ingin menggunakannya di masa depan, tetapi tidak memiliki cara yang lebih mudah untuk menyimpannya nanti di perangkat yang saya gunakan saat ini.
  • Saya ingin menggunakan beberapa atau semua kode dalam repositori itu sebagai titik awal untuk proyek saya sendiri.

Sekarang saya pernah mendengar orang mengumpulkan prangko dan kerang, tetapi mengapa ada orang yang ingin mengumpulkan repositori?

Kenapa tidak?

Tidak ada (yang bisa saya pikirkan) yang bisa salah dari mengambil repositori untuk kesenangan pribadi. Jujur, saya menyimpan folder proyek menarik yang saya lihat di Github dan tempat lain hanya untuk tujuan inspirasional, dan sebagian karena saya seorang geek. Saya mengerti bahwa saya tidak perlu membayar proyek untuk membaca kode, tetapi saya mungkin benar-benar ingin mengeditnya di masa depan.

Sekarang mulailah bercinta.

Dinamis
sumber
9
+1 untuk "Kenapa tidak?" bagian.
Llepwryd
Tambahan 2 sen saya pada "Mengapa tidak?" bagian: Kebiasaan saya adalah selalu melakukan "git push" setelah saya selesai mengerjakan fitur; memiliki perasaan memuaskan QED untuk saya (yang saya tidak dapatkan ketika menuliskan nama remote dan cabang). Jadi, setiap kali ada sedikit kemungkinan bahwa saya mungkin ingin melakukan perubahan pada repo, saya lebih suka bercabang, daripada nanti harus mengubah repo "asal" default.
yoniLavi
1
Saya pikir "Kenapa tidak?" Bagian menjelaskan cara kerja "Bintang" ...
TWiStErRob
2
Mengapa tidak memberikannya bintang untuk menyimpannya untuk dilihat nanti?
Bung
2
Ketika sebuah proyek menarik, saya akan menggunakan bintang. Saya setuju dengan yang lain.
Roman M. Koss
1

Saya memiliki banyak repo yang mungkin ingin saya gunakan kodenya, atau jika ini adalah proyek yang saya minati. Ketika saya ingin kembali dan melihat lagi kodenya, lebih mudah menemukan apakah itu terdaftar di bawah saya repositori. Saya tidak perlu mencari di google, atau mencoba-coba mengingat-ingat nama sebenarnya atau berpikir "di mana saya melihat repo tentang foo lagi?" Jika itu salah satu repo saya, lebih mudah diingatkan tentang hal-hal ini.

ChrisDR
sumber
Catatan, Anda bisa mendapatkan yang sama dengan membintangi repo - tidak perlu membayar untuk itu.
valiano