Saya memiliki proyek game yang akan memiliki dua versi:
- Versi gim yang sederhana, intinya.
- Versi lanjutan dari game.
Saya memiliki versi pertama di repositori publik saya, dan hanya saya yang akan mengerjakannya. Sedangkan untuk versi ke-2, dua teman saya dan saya akan mengerjakannya. Bagian penting adalah bahwa saya ingin kedua versi tetap berada di repositori saya.
Saya pikir saya mungkin menggunakan cabang untuk ini, tetapi mempertimbangkan pertanyaan ini dan jawabannya , bukan praktik yang baik untuk melakukannya dalam hal versi. Sejauh yang saya ketahui, forking repositori Anda sendiri tidak dimungkinkan.
Apa pilihan saya di sini? Bagaimana saya bisa menyimpan kedua versi di repositori saya?
fork
ing repositori akan membuat repositori baru di akun Anda.Jawaban:
Bagi saya tampaknya Anda membutuhkan dua Repositori, bukan dua Cabang . Cabang adalah mekanisme untuk menangani perubahan dalam satu repositori untuk akhirnya menggabungkannya dengan sisa kode.
Jika Anda benar-benar ingin menyimpan kedua versi basis kode yang serupa di repositori yang sama, maka satu-satunya pilihan Anda adalah pergi untuk Cabang , namun seperti yang disebutkan sebelumnya, tujuan utama cabang adalah untuk memisahkan beberapa komit tertentu dengan cara bahwa mereka tidak bertentangan dengan sisa kode selama periode pengembangan, dan menggabungkan mereka ketika mereka siap untuk pergi.
Ada beberapa situasi di mana repositori memiliki dua cabang yang sedikit berbeda - misalnya versi 32-bit dan 64-bit dari kode-sumber yang sama, namun saya tetap menyarankan Anda untuk menggunakan repositori yang terpisah, jika itu merupakan pilihan.
sumber
Jawaban atas pertanyaan "haruskah saya mengkloning atau fork" persis sama dengan jawaban untuk pertanyaan ini "apakah saya ingin versi pribadi saya sendiri dari proyek ini?" yes = fork, no = clone repositori.
Pada git, branch adalah hal yang ringan yang seringkali bersifat sementara dan dapat dihapus. Garpu (pada github) adalah proyek baru yang didasarkan pada proyek sebelumnya. Anda mengkloning repositori untuk mengerjakannya sebagai anggota tim.
Banyak proyek publik meminta Anda membayar proyek untuk menjaga perubahan kerja dari proyek utama.
Untuk fase 2, percabangan proyek kemudian clone ke komputer Anda dan minta teman Anda melakukan hal yang sama.
sumber
Apa yang benar-benar terdengar seperti yang Anda inginkan adalah submodule. Jika Anda membuat repo pertama (repo sederhana pribadi Anda) dan kemudian menambahkannya sebagai submodule ke repo versi lanjutan, maka Anda harus dapat melacak dan menarik perubahan ke submodule dalam repo lanjutan saat Anda mengembangkan repo sederhana pribadi.
sumber