Langsung ke konten utama

Menghindari Kebingungan Karena Git End Line Pada Windows Pada Multiplatform Development

Welcome file

Menghindari Kebingungan Karena Git End Line Pada Windows Pada Multiplatform Development

Linux menggunakan karakter Line Feed (lf) untuk menandai pergantian baris pada file-file teksnya, sedangkan Windows menggunakan Carriage Return dan Line Feed (crlf).

Development yang menggunakan git pada lingkungan multiplatform dan men-targetkan multiplatform linux dan windows perlu menggunakan konfigurasi autocrlf auto. Secara default, git for windows memang menggunakanan autocrlf yaitu menyimpan dengan lf dan men-checkout dilingkungan windows dengan crlf.

Default config git for Windows sama dengan perintah dibawah ini:

git config --global core.autocrlf auto

Akan tetapi ssebagian file bisa berjalan normal baik dengan lf maupun crlf, tetapi sebagian lagi mesti menggunakan lf atau mesti menggunakan crlf.

Hal ini bisa menimbulkan masalah dan kebingungan saat 1 folder pada 1 filesystem diakses oleh 2 sistem operasi, misalnya dalam dual boot laptop atau windows dengan WSL (Windows Subsystem for Linux).

Misalnya dengan memunculkan pesan seperti ini,

bash: ./my-script.sh: /bin/sh^M: bad interpreter: No such file or directory

Atau justru memunculkan keanehan karena string ditimpa karena menerima arahan cr Cariage Return pada akhir nilai variabel.

Contohnya, berkas script yang menggunakan crlf akan menghasilkan keanehan,

export MY_VAR="My First Variable"
echo "${MY_VAR} Yeeha!"

Akan menghasilkan:

Yeeha!t Variable

Untuk menghindari kebingungan ada baiknya kita definisikan file-file apa saja yang mesti tetap menggunakan lf saat di checkout, dengan menetapkannya pada berkas .gitattributes.

*.sh text eol=lf

Setelah ditetapkan eksekusi perintah berikut untuk meng-update file-file yang sudah di checkout sesuai isi file .gitattributes

git rm --cached -r . && git reset --hard

Komentar

Postingan populer dari blog ini

Contoh Pemprograman List, Animasi, dan Suara dengan Visual Basic - VB6

Sebenarnya saya agak malu nge- posting ini, karena low quality (✗_✗) banget. Tapi karena saya melihat ada beberapa teman yang kesulitan dalam mengerjakan tugas pemprograman Visual Basic (VB6) yang seperti ini, maka saya tebel-tebelin muka untuk posting disini sebagai contoh, siapa tahu bisa berguna. Tampilan Program Pemilihan objek dengan menggunakan list Pemilihan objek dengan meng-klik gambar binatang Latar Belakang Pembuatan Aplikasi ini dibuat sebagai pelaksaan dari tugas yang diberikan pada matakuliah Bahasa Pemprograman Visual 1 (Visual Basic 6) yang diajar oleh Bapak H. M. Amrin Lubis, Ir, M.Sc untuk mendemonstrasikan penggunaan List , Animasi dan Suara . Untuk lebih jelasnya, berikut ini adalah pernyataan tugas tersebut: Wajib: Buat sebuah daftar nama-nama hewan dalam list atau combo minimal 10 nama hewan. Ketik di- click salah satu nama hewan tersebut maka tampil gambarnya. Misal: di-klik kelinci tampil nama kelinci dan bahasa inggrisnya. Anjuran...

Memasang Android 4.4 KitKat di Samsung Galaxy W (Wonder) GT-I8150

Membuat backup Singkronisasikan handphone (contact, dll) Saya membuat backup SMS dengan SMS To Text, dan riwayat panggilan dengan Call Logs Backup and Restore Download Download Android SDK Tools Windows: http://dl.google.com/android/installer_r22.3-windows.exe Linux: http://dl.google.com/android/android-sdk_r22.3-linux.tgz Android SDK Tools juga terdapat dalam pake Android SDK Windows 32 bit: http://dl.google.com/android/adt/adt-bundle-windows-x86-20131030.zip Linux 32 bit: http://dl.google.com/android/adt/adt-bundle-linux-x86-20131030.zip Download ClockworkMod (CWM) Recovery Versi minimal untuk memasang CM 11 adalah versi 6.0.4.4. Jika menggunakan versi yang dibawah/sebelum itu, akan muncul pesan kesalahan "set_metadata_recursive: some changes failed" pada saat memasang CM nantinya. Download versi versi 6.0.4.5 di http://goo.im/devs/arco/ancora/cwm/recovery-clockwork-6.0.4.5-ancora.zip Download CyanogenMod (CM) 11 http://goo.im/devs/arco/ancor...

Promo Konsultasi Tugas Kewirausahaan

Konsultasi/ Mentoring Penyelesaian Tugas Kewirausahaan (Hanya menyediakan jasa konsultasi/ mentoring BUKAN jasa untuk membuatkan) Murah Biaya: Rp 1.000 / orang + snack / pertemuan Persyaratan: Masing-masing peserta menggunakan komputer/ laptop yang terhubung dengan internet Tempat bebas, waktu fleksibel Telpon : Tri 08984209407 , Simpati 081268432208 E-mail : indraginanjar@gmail.com indraginanjar.fb@facebook.com Facebook : http://www.facebook.com/indraginanjar.fb Google+ : https://plus.google.com/113794966594253699817 Atau... kasih komentar di bawah ini. Penawaran terbatas, hanya sampai Sabtu, 24 Februari 2013 Buruaaan! . . . terlambat = Gejala tugas ga selesai