Apa itu Berkas .gitignore
Berkas .gitignore
adalah sebuah berkas konfigurasi yang digunakan oleh Git, sebuah sistem kontrol versi yang populer, untuk menentukan berkas dan direktori yang seharusnya diabaikan ketika melakukan perubahan pada suatu repositori. Berkas ini berisi daftar pola berkas yang harus dikecualikan oleh Git sehingga tidak akan ditambahkan ke dalam repositori.
Pola berkas yang terdaftar dalam berkas .gitignore
dapat berupa nama berkas, nama direktori, atau pola wildcard yang dapat mencocokkan beberapa berkas atau direktori. Sebagai contoh, Anda dapat menggunakan berkas .gitignore
untuk mengabaikan berkas sementara, berkas log, artefak pembangunan, dan berkas lain yang bukan bagian dari kode sumber proyek Anda.
Manfaat menggunakan berkas .gitignore
sangatlah banyak. Pertama, ini membantu menjaga repositori Anda tetap bersih dan terorganisir dengan mencegah berkas yang tidak perlu mengacaukan direktori proyek. Hal ini dapat memudahkan Anda dalam menemukan dan bekerja dengan berkas yang sebenarnya menjadi bagian dari proyek Anda. Selain itu, mengabaikan berkas tertentu dari kontrol versi dapat membuat repositori Anda lebih kecil dan efisien, yang dapat mempercepat operasi seperti kloning, branching, dan merging.
Manfaat lain dari penggunaan berkas .gitignore
adalah membantu Anda menghindari kesalahan melakukan commit informasi rahasia atau rahasia ke repositori Anda. Sebagai contoh, jika Anda bekerja pada aplikasi web yang membutuhkan kata sandi database, Anda dapat menyertakan baris dalam berkas .gitignore
Anda untuk mengabaikan berkas yang berisi kata sandi tersebut. Ini dapat membantu mencegah kata sandi tersebut terbuka untuk pengguna yang tidak berwenang yang mungkin mendapatkan akses ke repositori Anda.
Syntax berkas .gitignore
cukup mudah dipahami. Setiap baris dalam berkas menentukan pola berkas yang harus dikecualikan oleh Git. Pola berkas dapat mencakup satu atau lebih elemen berikut:
-
Nama berkas
Nama suatu berkas spesifik atau set berkas. Sebagai contoh,myfile.txt
atau*.log
. -
Nama direktori
Nama suatu direktori spesifik atau set direktori. Sebagai contoh,mydirectory/
ataulogs/
. -
Pola wildcard
Pola yang mencocokkan beberapa berkas atau direktori. Sebagai contoh,*.txt
cocok dengan semua berkas dengan ekstensi.txt
, dan**/node_modules/
cocok dengan semua direktori bernama node_modules terlepas dari lokasi mereka di repositori. -
Pola negasi
Pola yang membalikkan efek pola sebelumnya. Sebagai contoh,!importantfile.txt
akan memasukkan berkasimportantfile.txt
meskipun berkas tersebut cocok dengan pola sebelumnya yang mengabaikan berkas dengan ekstensi.txt
.
Berikut adalah beberapa contoh cara menggunakan elemen-elemen tersebut dalam berkas .gitignore
:
# Ignore all log files
*.log
# Ignore a specific file
secret.key
# Ignore all files in a specific directory
mydirectory/
# Ignore all files with a specific extension in a specific directory
mydirectory/*.txt
# Ignore all files in a specific directory and its subdirectories
logs/**
# Include a specific file that was previously ignored
!importantfile.txt
Dalam contoh-contoh ini, simbol #
digunakan untuk menunjukkan komentar yang menjelaskan tujuan setiap baris dalam berkas .gitignore
. Komentar diabaikan oleh Git, sehingga dapat digunakan untuk memberikan informasi tambahan atau konteks bagi pengembang lain yang mungkin bekerja pada proyek yang sama.
Berkas dan direktori umum yang perlu diabaikan
Berikut adalah beberapa berkas dan direktori umum yang mungkin perlu diabaikan dalam berkas .gitignore
Anda.
-
Berkas sementara
Berkas yang dihasilkan selama proses pengembangan, seperti berkas log, berkas cadangan, atau berkas swap, sebaiknya dikecualikan dari kontrol versi. Contoh pola berkas yang harus diabaikan adalah*.log
,*.bak
, dan*.swp
. -
Kode terkompilasi
Jika proyek Anda mencakup kode yang terkompilasi, seperti berkas objek atau berkas eksekutabel, Anda dapat mengabaikannya dari kontrol versi untuk mengurangi ukuran repositori Anda. Contoh pola berkas yang harus dikecualikan adalah*.o
,*.exe
, dan*.so
. -
Direktori dependensi
Jika proyek Anda mencakup dependensi yang dikelola oleh manajer paket, seperti Node.js atau Python, Anda dapat mengabaikan direktori di mana dependensi ini diinstal. Contoh pola direktori yang harus dikecualikan adalahnode_modules/
atauvenv/
. -
Berkas konfigurasi
Berkas konfigurasi yang mengandung informasi sensitif, seperti kunci API atau kata sandi database, sebaiknya tidak dicommit ke kontrol versi. Contoh pola berkas yang harus dikecualikan adalahconfig.ini
atau*.env
. -
Berkas yang dihasilkan
Jika proyek Anda menghasilkan berkas secara otomatis selama proses pembangunan, seperti berkas dokumentasi atau berkas terjemahan, Anda dapat mengabaikannya dari kontrol versi. Contoh pola berkas yang harus dikecualikan adalah*.html
atau*.po
. -
Berkas IDE dan editor
Beberapa IDE dan editor membuat berkas atau direktori yang khusus untuk lingkungan mereka dan sebaiknya tidak dicommit ke kontrol versi. Contoh pola berkas yang harus dikecualikan adalah.idea/
atau.vscode/
.
Perlu dicatat bahwa berkas dan direktori spesifik yang harus diabaikan dalam berkas .gitignore
Anda akan tergantung pada sifat proyek dan lingkungan pengembangan Anda. Anda harus mempertimbangkan dengan hati-hati berkas dan direktori mana yang harus dikecualikan untuk menjaga repositori Anda tetap bersih dan terorganisir.