Memahami keberatan menggunakan Git

Selesai

Ada tiga keberatan umum yang sering saya dengar untuk bermigrasi ke Git:

  • Saya dapat menimpa riwayat.
  • Saya memiliki file besar.
  • Ada kurva pembelajaran yang curam.

Menimpa riwayat

Git secara teknis memungkinkan Anda menimpa riwayat - tetapi seperti fitur bermanfaat lainnya, jika disalahgunakan dapat menyebabkan konflik.

Jika tim Anda berhati-hati, mereka seharusnya tidak pernah menimpa riwayat.

Jika menyinkronkan ke Repositori Azure, Anda juga dapat menambahkan aturan keamanan yang mencegah pengembang menimpa riwayat dengan menggunakan izin "Pendorongan Paksa" eksplisit.

Setiap sistem kontrol sumber bekerja paling baik ketika pengembang memahami cara kerjanya dan konvensi mana yang cocok.

Meskipun tidak dapat menimpa riwayat dengan Team Foundation Version Control (TFVC), Anda masih dapat menimpa kode dan melakukan hal-hal menyakitkan lainnya.

File besar

Git bekerja paling baik dengan repositori yang kecil dan tidak berisi file besar (atau biner).

Setiap kali Anda (atau mesin build Anda) mengkloning repositori, mereka mendapatkan seluruh repositori dengan riwayatnya dari penerapan pertama.

Ini bagus untuk sebagian besar situasi tetapi dapat membuat frustrasi jika Anda memiliki file besar.

File biner bahkan lebih buruk karena Git tidak dapat mengoptimalkan cara penyimpanan file biner.

Itulah sebabnya Git LFS dibuat.

Git LFS memungkinkan Anda memisahkan file besar dari repositori dan masih memiliki semua keuntungan dari penerapan versi dan perbandingan.

Selain itu, jika Anda terbiasa menyimpan biner yang dikompilasi di repositori sumber, hentikan hal tersebut!

Gunakan Artefak Azure atau beberapa alat manajemen paket lainnya untuk menyimpan biner yang kode sumbernya Anda miliki.

Namun, tim dengan file besar (seperti model 3D atau aset lainnya) dapat menggunakan Git LFS untuk menjaga agar repositori kode tetap ramping dan terpangkas.

Kurva pembelajaran

Ada kurva pembelajaran. Jika belum pernah menggunakan kontrol sumber sebelumnya, Anda mungkin lebih baik saat mempelajari Git. Saya telah menemukan bahwa pengguna kontrol sumber terpusat (TFVC atau SubVersion) pada awalnya berjuang untuk membuat perubahan mental, terutama di sekitar cabang dan sinkronisasi.

Setelah pengembang memahami cara kerja cabang Git dan mengatasi kenyataan bahwa mereka harus menerapkan dan kemudian mendorong, mereka memiliki semua dasar yang dibutuhkan untuk berhasil di Git.