GitHub: jadikan garpu sebagai "proyek sendiri"

118

Saya telah menemukan proyek GitHub yang bagus yang banyak saya kembangkan. Saya yakin perubahan saya bagus, karena berhasil. Namun tampaknya penulis asli belum punya waktu untuk meninjau perubahan ini dan menyertakannya. Bahkan, mungkin saja fitur yang saya butuhkan dan implementasikan tidak sesuai dengan visi penulis aslinya dan kami hanya bertujuan untuk tujuan yang berbeda. Saya tidak tahu karena saya tidak pernah mendapat tanggapan darinya.

Yang mengatakan saya melihat kontribusi saya tidak dihitung dalam peta komit saya. Ini adalah kasus selama repositori asli tidak menerima kontribusi saya. Lebih jauh lagi pekerjaan saya hanya diakui sebagai pekerjaan dan tidak menarik orang lain dengan visi yang sama seperti yang saya miliki. Ini adalah masalah yang lebih besar bagi saya, karena saya melihat banyak orang meminta fitur ini.

Saya masih menawarkan kontribusi saya untuk proyek aslinya, tetapi saya melihat kecil kemungkinannya mereka akan diterima. Sekarang saya ingin membuat fork saya menjadi "proyek nyata". Sementara saya berencana untuk menyelaraskan dengan proyek asli di beberapa titik waktu, saya ingin mengganti namanya dan memotivasi orang untuk berkontribusi pada proyek saya juga. Selain itu, saya ingin sekali jika GitHub menunjukkan bahwa proyek ini secara aktif dipertahankan (berbicara tentang peta komit). Dan akhirnya, saya ingin sekali merilisnya dengan benar.

Bagaimana saya bisa menyelesaikan ini dan, baiklah, buat garpu saya menjadi proyek yang matang?

Kristen
sumber
Saya bingung, mungkin banyak hal telah berubah sejak 2014, tetapi proyek TightBlog saya terdaftar sebagai cabang dari Apache Roller di pojok kiri atas: github.com/gmazza/tightblog , namun saya mendapatkan kredit penuh untuk semua masalah saya , PR, dll, meskipun tidak ada pekerjaan yang diterapkan ke proyek utama Apache Roller tetapi hanya untuk garpu saya: ( github.com/gmazza?tab=overview&period=monthly ). Saya tidak yakin apa yang didapat dengan membuat garpu menjadi proyek mandiri lagi.
Glen Mazza

Jawaban:

75

Untuk melepaskan fork dan mengubahnya menjadi repositori mandiri di GitHub, hubungi dukungan GitHub .

https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/#commit-was-made-in-a-fork

Oleh Prypin
sumber
9
Selain itu, melakukan ini akan menjaga pengamat bintang, pengamat, dan jaringan percabangan. Tidak seperti membuat repo baru dari awal.
Johnco
1
Perlu dicatat bahwa Dukungan GitHub memberi saya pilihan untuk memperbaiki garpu anak atau menjaganya tetap terpasang ke repositori saya sendiri.
gmarmstrong
41

Untuk melakukan ini, Anda perlu menduplikasi repositori . Versi singkatnya adalah:

  1. Buat repositori baru di GitHub.
  2. Gandakan repositori bercabang yang ingin Anda lepaskan dari induknya.
  3. Dorong semua cabang di klon ini ke repositori baru Anda.
cdhowie.dll
sumber
Jika Anda ingin repositori Anda tetap memiliki nama yang sama, Anda mungkin dapat mengkloning repositori Anda, menghapusnya di GitHub, membuat proyek baru dengan nama yang sama, dan mendorong semuanya.
Rory O'Kane
12
Tampaknya permintaan penarikan GitHub hanya dapat terjadi di seluruh cabang GitHub dari sebuah proyek. Jadi jika Anda menggandakan repositori Anda, Anda tidak dapat membuat permintaan penarikan dari repositori baru. Dan jika Anda menghapus dan mengganti repositori lama Anda, semua permintaan penarikan yang ada mungkin akan ditutup karena GitHub akan mengira kode telah dihapus, dan Anda tidak akan dapat membuat permintaan penarikan baru.
Rory O'Kane
9
Downvoting karena hal ini dapat menyesatkan orang untuk melakukan tindakan yang tidak perlu. Jawaban Oleh harus diterima sebagai gantinya: cara untuk pergi adalah menghubungi dukungan GitHub. Butuh waktu kurang dari satu jam untuk mengubah garpu saya menjadi repo mandiri.
Georgii Ivankin
5

Ini sangat mudah:

  1. Kloning repo di suatu tempat: git clone [email protected]:USERNAME/REPOSITORY.git(pastikan dua kali Anda sudah kloning)
  2. Hapus repositori di GitHub (Pengaturan> Opsi> Hapus repositori ini)
  3. Buat repo kosong baru di GitHub
  4. git remote set-url origin [email protected]:USERNAME/NEW_REPOSITORY.git(jika Anda menggunakan nama yang sama untuk repo, maka NEW_REPOSITORY== REPOSITORY👍🏻)
  5. git push
  6. 🙌🏻

(Saya menggunakan ssh, tetapi jika Anda menggunakan https, url github Anda akan terlihat seperti https://github.com/USERNAME/REPOSITORY.git)

Gerbus
sumber
1

Pertama, Anda harus memeriksa apakah lisensi mengizinkan Anda untuk melakukannya, secara umum Open Source memaksa Anda untuk melakukannya karena ini semua tentang evolusi perangkat lunak tanpa rantai. Jika demikian maka buat saja repo baru. Jangan lupa untuk menghargai penulis asli dan memulai proyek Anda.

jethroo
sumber
3
Ini berlisensi MIT dan ya, saya berencana memberikan kredit seperti biasa. Sebenarnya saya lebih suka jika penulis asli hanya menerima kode saya (atau memberi tahu saya mengapa dia tidak)
Christian
1
Jika lisensi tidak mengizinkan Anda untuk membuat repositori yang bukan merupakan fork GitHub dari aslinya, maka proyek tersebut tidak boleh menjadi proyek GitHub publik sejak awal, karena proyek publik seharusnya dirilis di bawah lisensi sumber terbuka . Saya tidak bisa memikirkan lisensi open source yang melarang pembuatan salinan kode. Itulah inti dari open source. (Tentu saja, mungkin ada persyaratan atribusi - tetapi ini dapat dipenuhi tanpa proyek menjadi garpu GitHub yang "tepat".)
cdhowie
Penulis tentunya harus membuat proyek mereka perangkat lunak gratis, tetapi jika mereka tidak (misalnya, jika tidak ada lisensi), maka proyek tersebut tidak bebas: stackoverflow.com/a/16934573/6791398
gmarmstrong