Git : Panduan Singkat
Mudah menggunakan git — ringkasan menggunakan git, terminal, command-line, command prompt, instruksi, panduan, guide
Assalamu’alaikum…
Untuk menjadi Programmer atau Software Engineer perlu, kudu, harus, mesti dan wajib banget tau tentang version control. kali ini saya akan membahas tentang git. kalau masih belum tau segeralah anda bertaubat kawan… #glak..glak..glakkk…
Untuk itu saya menulis tentang panduan singkat git ini yang sering saya gunakan dan juga sebagai note atau catatan untuk saya sendiri, soalnya saya juga kadang-kadang suka lupa juga sih.. #hi..hi..hi.. #glak..glak..glakkk…
Pertama kita harus install git terlebih dahulu, disini saya tidak akan membahas cara install gitnya, untuk mengetahui cara install git kita bisa lihat link ini https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
kita langsung saja kepembahasannya, yaitu:
Membuat Repository Baru
Buatlah direktori/folder baru, buka dan jalankan ini
$ git init
git init untuk membuat repositori git baru.
Clone atau Menyalin Repositori
Menyalin repositori ini biasanya disebut Checkout.
ada dua cara menyalin repositori.
- Menyalin repositori dari local pc/laptop sendiri:
$ git clone lokasi-repositori/ lokasi-repositori-baru
- Menyalin repositori dari server git (github, gitlab, dll):
$ git clone <link-server-repositori>
git clone tanpa lokasi-repositori-baru akan otomatis dibuatkan direktori/folder/repositori sesuai nama repositori gitnya. jika nama repositori tidak ingin sama dengan nama default dari gitnya, atau menempatkan repositori yang sesuai kita inginkan, jalankan proses ini.
$ git clone <link-server-repositori> lokasi-repositori-baru
Alur Kerja
Repositori lokal kita terdiri dari tiga bagian pokok yang disebut “trees” dikelola oleh git. yang pertama adalah Direktori Kerja
yang menyimpan berkas aktual. kedua adalah Indeks
atau Stage
yang berperan sebagai pengolah data dan terakhir HEAD
atau History
yang mengarah pada komit terakhir.
Status
$ git status
git status digunakan untuk cek file-file mana saja yang terdapat perubahan. biasanya saya gunakan untuk mengetahui file mana saja yang mau saya pindahkan atau menambahkan dari “working dir” ke “stage”.
Add dan Commit
Kita bisa melakukan perubahan (penambahan ke stage) menggunakan
$ git add <nama-berkas>
git add <nama-berkas>
untuk menambahkan satu file perubahan,
$ git add .
git add .
untuk menambahkan seluruh perubahan pada semua file.
Ini merupakan langkah awal alur-kerja dasar git. Untuk komit sepenuhnya gunakan
$ git commit -m “pesan komit”
Sekarang berkas telah berkomit di HISTORY / HEAD, tapi belum di repositori jarak-jauh.
Reset dan Checkout
Seringkali kita terdapat kesalahan dalam penambahan atau meng-commit hasil perubahan yang kita ubah. #kayanya sih gw doang yang sering salah.. #glak..glak..glakkk…
$ git reset <nama-berkas>
atau
$ git reset
git reset biasanya saya gunakan untuk mengembalikan file perubahan yang sudah ditambahakan atau setelah git add (undo git add before git commit). biasanya disebut “unstage”, yaitu mengembalaikan file perubahan dari “stage” ke “working dir”.
git reset juga bisa digunakan untuk mengembalikan perubahan setelah meng-commit, biasanya reset ini harus menggunakan code headnya atau code commitannya.
$ git checkout <nama berkas>
atau
$ git checkout .
git checkout biasanya saya gunakan untuk mengembalikan atau mengcopy file dari “stage” ke “working dir” dan menghilangkan perubahan pada “working dir”. jika checkout dengan “.” (titik) maka akan mengcopy semua file dan menghilangkan semua perubahan yang ada di working dir sedangkan jika kita menamakan nama berkasnya, hanya berkas atau file itu saja yang dihilangkan perubahannya.
terus apa bedanya reset dengan checkout?
- reset mengembalikan perubahan yang sudah di add atau di tambahakan dari “working dir” ke “stage” kembali lagi ke “working dir”.
- checkout mengambalikan perubahan yang ada di “working dir” dari “stage” dengan menghapus perubahan yang ada di “working dir”.
yah begitulah kira-kira…
Percabangan
Percabangan atau branching digunakan untuk mengembangkan fitur-fitur secara terisolasi. cabang utama atau master merupakan cabang bawaan ketika kita membuat repositori. gunakan cabang lain untuk pengembangan, setelah selesai, gabungkan kembali ke cabang utama.
Buat cabang baru dengan nama “fitur_x” dan beralih kedalamnya menggunakan
$ git checkout -b fitur_x
Untuk kembali ke master, kita gunakan
$ git checkout master
dan untuk menghapus cabang gunakan
$ git branch -d fitur_x
Percabangan yang dibuat tidak akan terlihat oleh kelompok kita jika kita tidak mengirimkannya ke repositori jarak jauh.
$ git push origin <nama-cabang>
Mengirim perubahan
Saat ingin mengirim perubahan yang ada di Head/History local atau setelah kita mengkomit perubahan kita, untuk mengirimkannya kita perlu melakukan proses berikut.
$ git push origin master
atau
$ git push
Jika terdapat banyak percabangan atau “branch” dalam repositori kita maka ubah pada kata “master” sesuai cabang/branch yang kita inginkan untuk mengirimkan perubahan pada server git.
Jika repositori yang ada dalam lokal kita belum dikloning dan ingin menghubungkannya ke server jarak jauh atau ke github, gitlab, dll. kita perlu menambahkan link remote git servernya. contohnya seperti ini.
$ git remote add origin <link server reposiroti>
Sekarang kita bisa mengirimkan perubahan ke server jarak jauh yang dituju.
Perbarui dan penggabungan
Untuk memperbarui repositori lokal, kita dapat menggunakan intruksi seperti di bawah ini.
$ git pull
git pull akan mengambil dan menggabungkan perubahan yang ada di repositori lokal kita dari repositori server jarak jauh.
Jika dalam repositori kita terdapat lebih dari satu cabang/branch maka kita dapat menggabungkannya atau yang sering di sebut “merge”
$ git merge <cabang>
Pada kasus di atas, git mencoba menggabungkan perubahan secara otomatis, sayangnya hal ini tak selalu berjalan mulus dan menyebabkan konflik. jika terjadi konflik kita menggabungkannya secara manual, dan mengkomit perubahan tersebut.
Untuk mengetahui perbedaan antara tiap cabang kita bisa menggunakan diff.
$ git diff <cabang-1> <cabang-2>
Cukup sekian dulu materi kita kali ini. jika materi ini berguna bagi kalian silahkan share keteman-teman kalian.
Wassalamu’alaikum…