Belajar Git : Mengenal Git Sebagai Alat Version Control Modern

Git memberikan kemudahan dalam mengelolah file pada projek. memberikan riwayat, pelacakan, revisi, modifikasi, serta kolaborasi pada tim.

Fadli Rivansyah
5 min readJan 9, 2025
belajar git, git, version control
Photo by Gabriel Heinzer on Unsplash

Artikel ini sebagai catatan yang telah aku pelajari. aku berharap orang-orang mendapatkan manfaat ketika membaca artikel ini.

oke,,dalam membuat projek tentu membutuhkan kolaborasi pada tim. menyalin code, membuat, maupun mengirimkan code terhadap rekan satu tim. untuk melakukan itu, programmer membutuhkan version control. dalam setiap aktivitasnya baik itu menyimpan file, melakukan revisi, pelacakan perubahan, dll.

Disini, kenapa aku membahas git? karena tool ini salah satu version control yang banyak orang pakai saat ini, terutama membantu di kalangan programmer.

Penting sekali seorang programmer mempelajari version control. dengan menggunakan version control kita juga dapat bekerja dengan jarak jauh tanpa harus berjumpa langsung dengan tim. alhamdulillah sekarang kita sudah dipermudahkan oleh version control yng lebih modern.

Dulunya sebelum berkembang version control seperti saat ini. mereka cukup rumit untuk melakukan pengelolahan file, mereka harus melakukan secara manual seperti menyalin file dan itu memungkinkan dapat dengan mudah terjadi kesalahan. tetapi seiring perkembangan zaman, muncul pembaharuan hinggah saat ini. seperti github, gitlab, bitbucket, source forge yang dikembangkan dengan berbasis git.

Git diciptakan oleh Linus Tovalds, beliau seorang pengembang perangkat lunak sekaligus pengembang kernel linux. beliau asal firlandia, lahir tahun 1969.

sebelum terciptanya git, linus memakai version control dari bitkeeper, seiring waktu berjalan terjadi permasalah buruk dengannya. dengan itu linus memutuskan untuk menciptakan version control sendiri yang lebih baik mulai dari fleksibel, aman, cepat, dan terdistribusikan. git merupakan projek open source, seiring waktu berjalan git terus dikembangkan, hingga saat ini banyak platform berbasis git.

sekarang kita sudah mengetahui sekilas mengenai git. untuk mendownload git mendukung sistem operasi Linux, Windows, dan macOS.

donwload git
sumber : https://git-scm.com/downloads

setelah sudah menginstall git sesuai dengan sistem operasi yang dipakai, selanjutnya adalah konfigurasi pada git.

Konfigurasi Git

melakukan konfigursi git cukup mudah untuk dilakukan, kamu pergi ke terminal. jika kamu menggunakan windows, kamu dapat menggunakan git-bash. setelah itu jalankan perintah berikut,

git config --global user.name "nama kamu"
git config --global user.email "email kamu"

hal itu dilakukan agar mengetahui siapa yang melakukan perubahan terhadap projek. untuk memastikan kamu sudah melakukannya, kamu dapat menjalankan perintah berikut,

git config --list

untuk konfigurasi mungkin cukupkan disini, sekarang kita test menambahkan file pada repository.

Membuat Repository

setiap membuat projek, kita dapat memanfaatkan repository untuk menyimpan projek kita. untuk membuat cukup mudah, buka terminal dan jalankan perintah berikut,

mkdir nama_proyek

untuk membuat folder projek kamu dapat melakukan secara manual dan kamu juga dapat membuat dengan mudah dengan perintah code diatas.

setelah itu masuk kefolder projek yang dibuat atau kamu dapat menggunakan perintah cd pada terminal.

jika sudah masuk ke folder projek, kita harus beritahu git bahwa kita mau membuat repository. untuk itu jalankan perintah berikut,

git init

git akan melakukan inisialisasi terhadap folder kita. berikut contoh outputnya,

inisialisasi git

sekarang kita sudah membuatnya dan kita dapat melakukan pengelolahan file didalam repository.

untuk melakukan clone tehadap repository yang ada, kamu dapat menjalankan perintah berikut,

git clone <url-repo>

biasanya aku untuk melakukan clone itu dengan github.

setelah sudah menginisialisasi kita akan melanjutkan bagaimana cara menambahkan file kedalam repository.

Menambahkan File

untuk menambahkan file kerepository yang sudah diinisialisasi kita perlu menjalankan perintah berikut,

git add <nama_file>  

untuk menambahkan semua file sekaligus pada folder. berikut perintahnya,

git add . 

untuk melakukan pengecekan kamu dapat menjalankan perintah berikut,

git status

hasil dari perintah tersebut kamu dapat melihat status file disana. kita akan belajar struktur pada git.

Struktur Git

mempelajari cara kerja git cukup penting. kita akan tau status file yang kita kirimkan, ada beberapa lingkungan kerja git. dimulai dari pembuatan repository, file, hingga melakukan remote terhadap file.

Working directory

file berada di lingkungan working directory terjadi bila jika user melakukan membuat file, mengedit, menghapus, dan memindahkan file.

ketika melakukan inisialisasi git pun masih terjadi di lingkungan working direktory. disini kita dapat melihat status file seperti,

  1. Untract (U), file yang belum ditambahkan kelingkungan staging area
  2. Modified (M), file yang sudah di modifikasi atau diubah
  3. Added (A), file telah ditambah kan kestaging area
  4. Deleted (D), file yang statusnya telah dihapus

untuk melihat status file disana kamu dapat menjalankan perintah berikut,

git status

Staging Area

Didalam lingkungan staging area, jika user melakukan penambahan data dari working direktori ke staging area. berikut perintahnya,

git add <nama file>

ketika user melakukan perintah diatas, file akan pindah ke lingkungan staging area. untuk ke lingkungan cdengan syarat user melakukan perintah git add, hal ini dilakukan untuk mempersiapkan melakukan commit file.

Local Repository

untuk berada di lingkungan ini user harus melakukan commit file dahulu. kamu bisa melakukan dengan perintah berikut,

git commit -m 'upload file'

file kamu akan tersimpan ke local repository. sampai disini kamu telah selesai menyimpan file ke repository.

jadi siklus hanya di working area, setelah itu ke staging area, kemudian di commite masuk ke local repository, ketika ada perubahan maka kembali ke working directory lagi.

kamu akan memutuskan apakah file yang di simpan tetap di local repository atau dilanjutkan ke remote repository. itu merupakan optional buat kamu.

Remote Repository

lingkungan ini sudah memiliki server tersendiri atau menggunakan platform lain berbasis git. jadi file tidak hanya tersimpan di local komputer, file akan tersimpan ke server yang telah dirancang.

dengan lingkungan ini, kamu dapat melakukan kolaborasi dalam tim untuk membuat projek. benefit lain juga memberikan backup file. ketika hardisk komputer kamu rusak. kamu masih ada backup file pada repository server.

banyak sekali platform yang berbasis git, salah satunya adalah github. untuk pembahasan lebih lanjut akan dibuat di artikel terpisah.

Folder .git

.git bukanlah sebuah file, melainkan folder yang menampung data kita. itu seperti folder tersembunyi pada sistem operasi linux.

jangan sembarangan menghapus folder .git karena riwayat, pelacakan, backup, itu berada folder ini. ketika folder tersebut dihapus data kamu akan hilang.

Branch & Merge

branch diartikan dalam bahasa indonesia adalah cabang. git dapat membuat cabang dari cabang utamanya. fungsi dari membuat cabang ini agar tidak terganggu dengan cabang utama.

dengan cabang yang baru kita dapat melakukan banyak hal seperti memperbaiki bug, melakukan eksperimen tanpa resiko, membuat dokumentasi, dlln.

cabang-cabang tersebut dapat digabungkan kecabang utama, inilah yang disebut merge.

merge adalah penggabungan antara cabang yang baru dengan cabang utama. disini akan berkemungkin terjadi konflik bila tidak dilakukan dengan benar.

mungkin itu saja pembahasan mengenai konsep dasar memahami git walaupun tidak seluruhnya. insyaallah kedepannya bakalan ada artikel membahas secara khusus dan spesifik mengenai git ini.

jika ada keliru, aku berharap ada yang meluruskan agar kita sama-sama belajar. saya juga minta maaf dan terimah kasih telah membaca artikel ini, semoga bermanfaat. sampai jumpa pada artikel berikutnya 😄

--

--

Fadli Rivansyah
Fadli Rivansyah

Written by Fadli Rivansyah

As web development | interested in laravel technology

No responses yet