Git : Panduan Singkat

Aji Gojali
5 min readJul 15, 2020

--

Mudah menggunakan git — ringkasan menggunakan git, terminal, command-line, command prompt, instruksi, panduan, guide

git logo https://git-scm.com/images/logos/2color-lightbg@2x.png

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

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
git clone local
  • Menyalin repositori dari server git (github, gitlab, dll):
$ git clone <link-server-repositori>
git clone tanpa lokasi-repositori-baru

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
git clone dengan 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.

http://marklodato.github.io/visual-git-guide/basic-usage.svg

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.

https://rogerdudler.github.io/git-guide/img/branches.png

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…

--

--