Sebagian besar sistem kontrol versi (VCS) dirancang untuk teks. Mereka biasanya memiliki fitur yang sangat kuat dan nyaman untuk membandingkan ( diff
) dan menggabungkan kode sumber, dan beberapa alat bahkan dapat secara otomatis menggabungkan perubahan (dan melakukan pekerjaan yang layak untuk menebak bagaimana perubahan harus digabung dan pada titik mana pengembang harus diminta untuk melakukan penggabungan manual).
Akan lebih baik untuk memiliki dukungan yang lebih baik diff
dan penggabungan file biner dari aplikasi masing-masing yang menggunakan file-file tersebut. Microsoft Word, misalnya, memungkinkan untuk membandingkan dua dokumen, dan meskipun jauh dari menjadi alat penggabungan yang nyaman, itu masih lebih baik daripada tidak sama sekali dan menyelamatkan saya berjam-jam pada banyak kesempatan. Sayangnya, fitur penggabungan biasanya diawasi dalam produk perangkat lunak, atau sulit diterapkan (bagaimana Anda memvisualisasikan diff
adegan 3D?)
Ketika datang ke file biner, Anda mendapat sedikit bantuan dari VCS. Tidak hanya mereka tidak dapat menyimpan perubahan berturut-turut secara efisien, tetapi mereka juga tidak dapat membantu Anda menggabungkan perubahan.
Dua tahun lalu, saya mengajukan pertanyaan yang sangat mirip tentang penggunaan kontrol versi dalam perangkat lunak pengeditan video . Saya percaya bahwa jawaban yang diberikan untuk pertanyaan saya sebagian juga berlaku di sini, satu-satunya perbedaan (tetapi penting) adalah bahwa pertanyaan saya menyangkut file besar, sedangkan dalam kasus Anda, file biner mungkin relatif kecil.
Pendekatan yang Anda temukan, yaitu "bergiliran mengerjakan benda yang sama", adalah yang baik. Jika Anda tidak dapat bergabung, jangan bekerja secara paralel pada hal yang sama. Jika Anda bekerja di kantor yang sama, itu bisa mudah dilakukan. Jika tidak, sebagian besar sistem kontrol versi ( termasuk yang Anda gunakan ; itu juga dibahas di sini dalam konteks BitBucket) yang mendukung penguncian , yang terdiri dari pengguna VCS untuk memberi tahu, melalui sistem, bahwa ia sedang mengerjakan file yang diberikan tepat sekarang; pengguna lain dapat memuat versi terbaru file, tetapi mereka tidak diharapkan mengubahnya.