Paham soal Git dan GitHub apalagi Perintah-perintah Git itu penting untuk kalian yang jadi pengembang, karena ngebantu banget buat kontrol versi dan manajemen kode yang efektif. Jago pakai alat-alat ini bikin kalian beda dan kinerjamu jadi lebih baik. Di tulisan blog ini, kita bakal bahas sejumlah perintah Git memulai petualangan kalian dalam pengembangan perangkat lunak.

Istilah-istilah Git

Sebelum kita masuk ke perintah-perintahnya, ayo kenalan dulu sama beberapa istilah Git. Paham ini gak cuma bantu kalian ngertiin Git, tapi juga jadi dasar buat pengertian kalian secara keseluruhan.

Repositori

Repositori, atau repo, jadi tempat penyimpanan di mana kode sumber proyek dan riwayat versinya disimpan.

Working Directory

Direktori kerja itu tempat kalian lagi ngerjain proyek, di mana file-file yang lagi kalian kerjain berada.

Staging

Staging jadi area di antara repositori dan direktori kerja kalian. Ini tempat kalian tambahin perubahan sebelum di-commit ke repositori utama.

Commit

Commit itu kayak foto perubahan yang diusulkan ke tahap staging, punya kode unik (hash SHA-1) dan disertai pesan commit.

Branch

Branch/Cabang itu versi sejajar dari repositori kalian, buat bantu ngerjain fitur atau bug fix secara terpisah.

Merge

Merge itu gabungin perubahan yang diusulkan ke repositori utama, biasanya dipake buat ngintegrasikan fitur baru ke proyek utama.

Pull

Pull itu ambil kode dari repositori jarak jauh dan gabungin ke repositori lokal kalian, alias direktori kerja.

Push

Push itu kirim perubahan kalian dari lokal ke cabang jarak jauh di repositori mana pun.

Clone

Clone itu proses bikin salinan lokal dari repositori utama, bikin koneksi buat pull dan push yang efisien.

Fetch

Fetch itu download perubahan dari repositori jarak jauh ke repositori lokal, tanpa langsung gabungin ke repositori lokal kalian. Berguna buat cek perubahan sebelum di-merge.

Fork

Fork itu bikin salinan pribadi dari repositori orang lain ke akun GitHub kalian, biar bisa ngedit tanpa ngaruhin repositori aslinya.

Conflict

Konflik muncul saat dua atau lebih cabang punya perubahan di bagian kode yang sama, dan Git gak bisa langsung gabungin.

Di Git, HEAD itu penunjuk atau referensi yang selalu nunjukin commit terbaru di cabang yang sedang kalian pake. Saat kalian buat commit baru, HEAD pindah ke puncak commit kalian.

10 Perintah Git yang Penting

Setelah mengetahui istilah-istilah git di atas. Sekarang waktunya kita mengetahui apa saja perintah git yang perlu kalian ketahui.

1. Menambahkan dan Melakukan Commit Bersamaan

Biasanya, di Git, kita menggunakan perintah git add * untuk menyiapkan semua file yang sudah diubah untuk commit selanjutnya. Setelah itu, kita menggunakan perintah git commit -m “pesanCommit” untuk melakukan commit pada perubahan tersebut. Namun, ada perintah yang lebih sederhana yang bisa melakukan kedua tugas ini dalam satu langkah:

git commit -am "pesanCommit"

Flag -am memungkinkan kita menyiapkan perubahan ini dan melakukan commit dalam satu operasi yang efisien.

2. Membuat dan Beralih ke Git Branch

Sama seperti skenario sebelumnya, ada perintah lain yang menggabungkan fungsi dari dua perintah. Daripada menggunakan perintah terpisah, gunakan git branch namaBranch untuk membuat cabang dan git checkout namaBranch untuk beralih ke cabang tersebut. Lakukan kedua tugas ini dalam satu langkah dengan perintah berikut:

git checkout -b namaBranch

Flag -b dengan perintah git checkout memungkinkan kita membuat branch baru dan langsung beralih ke dalamnya.

3. Menghapus Git Branch

Untuk menghapus Branch di Git, gunakan perintah git branch -d atau git branch -D. Opsi -d untuk penghapusan aman, hanya menghapus branch jika sudah sepenuhnya digabungkan ke dalam branch saat ini. Opsi -D untuk penghapusan paksa, tanpa memeriksa apakah sudah sepenuhnya digabungkan. Berikut perintah-perintahnya:

Penghapusan aman (memeriksa merge):

git branch -d namabranch 

Penghapusan paksa (tidak memeriksa merge):

git branch -D namabranch 

4. Mengganti Nama Git Branch

Untuk mengganti nama cabang, gunakan perintah git branch -m diikuti dengan nama branch saat ini dan nama cabang baru yang diinginkan. Sebagai contoh, untuk mengganti nama branch dari oldBranch menjadi newBranch, jalankan:

git branch -m oldBranch newBranch

Jika kalian ingin mengganti nama branch tempat kalian sedang bekerja, tanpa menentukan nama lama, gunakan perintah berikut:

git branch -m newBranchName

Di sini, kalian gak perlu menentukan nama branch lama karena Git akan menganggap kalian ingin mengganti nama branch saat ini ke nama baru.

5. Membatalkan Berkas Staging Tertentu

Kadang-kadang, kalian mungkin ingin menghapus suatu berkas dari area staging, biar bisa dimodifikasi lagi sebelum di-commit. Gunakan:

git reset namafile

Ini akan membatalkan staging berkas tersebut tapi tetap mempertahankan perubahan yang sudah kalian buat.

6. Membuang Perubahan pada Berkas Tertentu

Untuk sepenuhnya membuang perubahan yang sudah kalian buat pada suatu berkas dan mengembalikannya ke keadaan terakhir yang di-commit, gunakan:

git checkout -- namaberkas

Perintah ini memastikan berkas tersebut kembali ke keadaan sebelumnya, mengurungkan modifikasi terkini. Cara ini membantu untuk mulai dari awal pada suatu berkas tanpa memperngaruhi perubahan lain yang sudah kalian buat.

7 – Memperbarui Commit Terakhir Kamu di Git

Bayangin kamu baru aja melakukan commit di repositori Gitmu, tapi tiba-tiba sadar kalo kamu lupa masukin satu perubahan ke commit itu, atau mungkin kamu mau ngefix pesan commitnya langsung. Kamu gak mau bikin commit baru cuma buat perubahan kecil ini. Sebaliknya, kamu mau nambahin ke commit sebelumnya. Di sinilah kamu bisa pake perintah:

git commit --amend -m 'pesan'

Perintah ini ngeubah commit terakhir yang kamu buat, gabungin semua perubahan yang udah di-stage dengan komentar baru kamu buat bikin commit yang diperbarui.

Yang perlu diinget, kalau kamu udah push commit ke remote repositori, kamu perlu force push perubahan pake git push –force buat ngupdate branch di remote repo. Operasi git push standar akan append commit baru ke remote repo, bukan ngubah commit terakhir.

8 – Menyimpan Perubahan Sementara

Bayangin kamu lagi kerja di dua branch yang beda, A dan B. Sementara kamu lagi ngubah sesuatu di cabang A, timmu minta bantuan buat fix bug di branch B. Pas kamu coba pindah ke branch B pake git checkout B, Git ngasih error:

Kita bisa melakukan commit sesuai saran dari pesan error. Tapi, commit itu lebih kayak titik tetap dalam waktu, bukan pekerjaan yang masih terus berlanjut. Di sinilah kita bisa pake fitur stash sesuai saran kedua dari pesan error. Pake perintah ini buat nge-stash perubahanmu:

git stash

git stash sementara nyimpen perubahan yang belum siap kamu commit, biar kamu bisa pindah ke branch lain atau kerjaan lain tanpa commit pekerjaan yang belum selesai.

Buat ngelanjutin perubahan yang disimpan di stash, pake git stash apply atau git stash pop. Keduanya mengembalikan perubahan terakhir yang disimpan. Git stash apply cuma mengembalikan perubahan, sementara git stash pop mengembalikan perubahan dan menghapusnya dari stash. Bisa baca lebih lanjut soal stash di sini.

9 – Membatalkan Commit di Git

Bayangin kamu lagi kerja di proyek Git, dan tiba-tiba kamu sadar bahwa suatu commit memperkenalkan beberapa perubahan yang gak diinginkan. Kamu perlu membalik perubahan itu tanpa menghapus commit dari sejarah. Gunakan perintah berikut buat mengundo commit tersebut:

git revert hashCommit

Ini cara yang aman dan non-destruktif buat memperbaiki kesalahan atau perubahan yang gak diinginkan di proyek kamu.

Misalnya, kita punya serangkaian commit:

Commit A
Commit B (perubahan yang gak diinginkan ada di sini)
Commit C
Commit D

Buat mengembalikan efek dari Commit B, jalankan:

git revert hashCommitB

Git bakal membuat commit baru, kita panggil aja Commit E, yang mengurungkan perubahan yang diperkenalkan oleh Commit B. Commit E jadi commit terbaru di cabangmu, dan proyek sekarang mencerminkan keadaan yang seharusnya jika Commit B gak pernah terjadi.

Kalo kalian bingung gimana caranya dapetin hash commit, gampang aja pake git reflog. Di screenshot di bawah, bagian yang di-highlight itu representasi hash commit yang bisa kalian copy dengan mudah.

10 – Mereset Commit di Git

Asumsikan kalian udah melakukan commit ke proyekmu. Tapi, setelah di-inspeksi, kalian ngeh bahwa kalian perlu merubah atau bahkan undo commit terakhir kalian. Git punya perintah-perintah keren buat situasi kayak gini:
Soft reset

git reset --soft HEAD^

Kalo kalian pake git reset –soft HEAD^, itu disebut soft reset. Perintah ini memungkinkan kalian balik ke commit terakhir kalian sambil tetap nyimpen semua perubahan kalian di staging area. Jadi, bisa dibilang, kalian bisa uncommit dengan tetap nyimpen perubahan kode kalian, pake perintah ini. Berguna kalo kalian perlu revisi commit terakhir, mungkin buat nambahin perubahan sebelum di-commit lagi.
Mixed reset

git reset --mixed HEAD^

Ini adalah perilaku default kalo kalian pake git reset HEAD^ tanpa nambahin –soft atau –hard. Ini un-commit commit terakhir dan hapus perubahannya dari staging area. Tapi, perubahan ini tetep ada di direktori kerja kalian. Berguna kalo kalian mau un-commit commit terakhir dan mulai dari awal sambil tetep nyimpen perubahan di direktori kerja kalian sebelum di-commit lagi.
Hard reset

git reset --hard HEAD^

Nah, sekarang kita bahas git reset –hard HEAD^. Ini akan ngapus commit terakhir beserta semua perubahannya dari sejarah Git kalian. Kalo kalian pake flag –hard, gak bisa balik lagi. Jadi, pake ini dengan sangat hati-hati kalo kalian mau ngediscard commit terakhir dan semua perubahannya secara permanen.

Penutup

Jika proyek kalian menggunakan Git, maka mengutak-atik kode dalam proyek pengembangan perangkat lunak memerlukan pemahaman mendalam tentang Git, dan memahami beberapa perintah kunci bisa sangat membantu.

Dari merancang commit hingga mengatasi cabang dan melibatkan fitur-fitur khusus Git, sepuluh perintah ini membentuk dasar yang kuat untuk pengelolaan versi yang efektif.

Ingatlah, menguasai perintah-perintah ini tidak hanya meningkatkan produktivitasmu, tetapi juga membuka peluang untuk eksplorasi lebih lanjut dalam pengembangan perangkat lunak. Selamat berkoding!

About the Author

Dzul Qurnain

Suka nonton Anime, ngoding dan bagi-bagi tips kalau tahu.. Oh iya, suka baca ( tapi yang menarik menurutku aja)...

View All Articles