SegalaHal.com - Menggunakan gitignore Saat Bekerja Dengan Git

Menggunakan gitignore saat Bekerja Dengan Git

Diposting pada 363 views

Halo, apakah kamu pernah menggunakan Git? Atau mungkin malah sudah sering menggunakan Git? Kalau begitu sudahkah berkenalan dengan gitignore? Yuk kita sama-sama berkenalan dan belajar menggunakan gitignore saat bekerja dengan git !

Mengapa Perlu gitignore ?

Seringkali saat kita membuat sebuah project maka ada berkas atau folder yang berisi dependensi atau library / package yang terinstal ke project kita. Atau mungkin kita memiliki sebuah folder yang sifatnya rahasia atau hanya untuk kepentingan khusus pada laptop kita.

Berkas atau folder tersebut bisa jadi berukuran sangat besar sehingga saat melakukan push maupun clone dari GitHub akan menjadi lambat. Contohnya adalah jika kalian membuat project NodeJs pasti akan memiliki folder node_modules. Jika menggunakan Composer (PHP) biasanya akan ada folder vendor. Isi folder tersebut bisa berukuran sangat besar tergantung seberapa banyak dependensi atau library yang kita gunakan pada projectnya.

menggunakan gitignore saat bekerja dengan git - meme yang menunjukkan bahwa node_modules dapat berukuran sangat besar bahkan pada kode project yang berukuran kecil
Ilustrasi meme folder node_modules dapat berukuran sangat besar walaupun pada project yang relatif kecil (sumber gambar: reddit)

Atau jika kita memiliki berkas rahasia, misalnya berkas yang berisi konfigurasi kredensial database yang sangat penting sehingga tidak boleh sampai ikut tersimpan ke repositori GitHub.

Lalu apa solusinya? Yap, tentu saja solusinya adalah dengan menggunakan gitignore!

GitIgnore memungkinan kita untuk mengecualikan berkas ataupun folder tertentu agar tidak ikut terlacak Git dan tidak ikut tersimpan ke GitHub saat melakukan push. Dengan begitu kita bisa melakukan push kode projectnya saja sehingga ukurannya bisa lebih kecil dan lebih cepat. Berkas-berkas rahasia pun juga bisa tetap aman.

Nah, Lalu bagaimana caranya menerapkan gitignore pada project kita?? Yuk simak cara berikut.

Cara Menggunakan gitignore Saat Bekerja Dengan Git

Sebenarnya caranya cukup sederhana, yaitu dengan menambahkan berkas .gitignore pada project kita. Namun agar lebih jelas, saya akan contohkan dari awal pembuatan repositorinya ya. Kali ini saya contohkan dalam pembuatan project sederhana dengan menggunakan NodeJs, sehingga gitignore-nya akan kita gunakan untuk mengecualikan folder node_modules agar tidak ikut tersimpan ke GitHub.

Menyiapkan Repositori GitHub

Saya akan mulai dengan membuat repositori GitHub baru. Yaitu dengan login akun GitHub, lalu klik icon + , kemudian pilih New repository.

menggunakan gitignore saat bekerja dengan git - membuat repositori baru

Selanjutnya isikan nama repositori yang ingin kita buat. Sertakan juga deskripsi repositori (opsional / tidak wajib). Jika sudah, kemudian klik tombol Create Repository yang ada pada paling bawah halamannya.

menggunakan gitignore saat bekerja dengan git - memberikan nama repositori

Setelah repositorinya berhasil terbuat maka akan tampil halaman Quick Setup yang berisi langkah-langkah untuk menghubungkan repositori GitHub tersebut ke repositori lokal yang ada pada komputer kita. Namun karena kita belum memiliki repositori lokal dan belum membuat projectnya maka kita bisa hiraukan saja dan bisa kita clone saja repositori GitHub-nya. (Note: Pastikan Git telah terinstal pada laptop atau komputer kalian ya)

menggunakan gitignore saat bekerja dengan git - tampilan setelah berhasil membuat repositori

Setelah berhasil clone, akan ada warning seperti berikut ini. Namun warning tersebut bisa kita abaikan saja karena repositorinya memang masih kosong.

menggunakan gitignore saat bekerja dengan git - tampilan saat clone repositori

Selanjutnya kita akan buka di text editor dan mulai menuliskan kode projectnya. Lets go!

Penulisan Kode Project

Saya menggunakan Visual Studio Code untuk menuliskan kode projectnya. Kalian bisa sesuaikan dengan text editor kesukaan kalian ya. Folder repositori project yang sudah berhasil ter-clone kemudian kita buka pada text editor.

Karena kita akan membuat sebuah project NodeJs, maka kita perlu menginisiasi dulu projectnya dengan npm init. Setelah itu akan terbentuk sebuah berkas package.json yang berisi rincian mengenai project kita.

menggunakan gitignore saat bekerja dengan git - inisiasi proyek nodejs dengan npm init

Selanjutnya kita bisa mulai instal package yang kita butuhkan. Pada contoh kasus ini saya akan menggunakan package Hapi untuk membuat sebuah aplikasi web server.

Setelah berhasil terinstal maka jika kita perhatikan akan muncul sebuah folder node_modules dan berkas package-lock.json

menggunakan gitignore saat bekerja dengan git - menginstal package hapi

Kemudian kita bisa mulai tulis kodenya pada berkas server.js

const Hapi = require("@hapi/hapi");

const init = async () => {
  const server = Hapi.server({
    host: "localhost",
    port: 5000,
  });

  server.route([
    {
      path: "/",
      method: "GET",
      handler: () => {
        return "<h1>Halo, Pembaca SegalaHal!</h1>";
      },
    },
  ]);

  await server.start();
  console.log(`Server berjalan pada ${server.info.uri}`);
};

init();

Untuk menjankannya bisa dengan perintah node server.js dan bisa kita coba akses melalui browser. Untuk menghentikan servernya bisa kita tekan Ctrl + C pada terminalnya.

mengakses aplikasi yang sedang berjalan

Selanjutnya jika kita cek dengan perintah git status akan tampil beberapa berkas dan folder yang terdeteksi sebagai untracked files atau berkas baru yang perubahannya belum tersimpan / belum tercommit ke Git.

menjalankan perintah git status

Bisa kita lihat bahwa folder node_modules ikut terdeteksi dan jika kita commit dan push akan ikut tersimpan ke repositori GitHubnya. Untuk menghindari hal ini, maka kita akan buat sebuah berkas baru bernama .gitignore. Di dalam berkasnya tuliskan folder yang ingin kita kecualikan, yaitu node_modules. Setelah itu simpan berkasnya.

membuat berkas gitignore

Kemudian jika kita cek lagi dengan perintah `git status` maka akan berubah seperti berikut ini. Folder node_modules tidak lagi terdeteksi dan akan terabaikan oleh Git.

menjalankan git status setelah membuat gitignore

Commit dan Push ke GitHub

Nah, setelah kita berhasil membuat berkas gitignore, maka selanjutnya kita akan simpan ke repositori GitHub dengan melakukan push. Secara berurutan, perintah yang bisa kita jalankan adalah seperti berikut ini.

git add .
git commit -m "initial commit"
git push origin main
melakukan push ke github

Setelah berhasil push, jika kita cek repositori GitHub akan tampil seperti ini.

tampilan repo github setelah push

Great job! Sekarang folder node_modules tidak ikut tersimpan ke GitHub sesuai dengan apa yang kita inginkan..

Cara Clone dan Mengembalikan Folder node_modules

Loh, tapi tunggu sebentar.. Mungkin dari kalian ada yang bertanya-tanya jika folder berisi library/package seperti node_modules tidak ikut tersimpan pada repositori GitHub, lalu saat kita clone bukankah projectnya tidak akan dapat berjalan dengan baik?

Good question! Yap, memang benar. Ketika folder tersebut tidak ada pada folder project maka bisa jadi projectnya memang tidak akan berjalan. Namun, umumnya project-project seperti demikian memiliki prosedur untuk menginstal kembali library atau package yang di butuhkan pada projectnya. Contohnya adalah pada project yang telah kita buat tersebut folder node_modules bisa kita kembalikan asalkan terdapat berkas package.json yang valid.

Pertama, kita coba clone dulu pada folder yang lain, misalnya pada Desktop (ceritanya ini ada orang lain yang mau clone projectnya)

melakukan clone repositori di desktop

Kemudian setelah berhasil ter-clone selanjutnya kita bisa menjalankan perintah npm install . Dengan begitu daftar library atau package yang tercantum pada berkas package.json akan terinstal lagi dan akan memunculkan folder node_modules lagi sehingga projectnya tetap bisa berjalan dengan normal. Jadi sekarang kalian tidak perlu khawatir lagi ya!

menjalankan npm install

Nah, bagaimana? Mantap, kan? Selain untuk mengabaikan folder node_modules, kalian juga bisa gunakan untuk folder atau berkas lain yang tidak ingin kalian simpan ke repositorinya. Jadi silakan lanjut eksplorasi sendiri ya 🙂

Mungkin sekian dulu tulisan kali ini. Terimakasih sudah membaca dan semoga bermanfaat ya. 🙂