Berasal dari pengalaman menerima siswa SMK dan Mahasiswa Perguruan Tinggi Jurusan Teknik Informatika untuk magang di WebHade Creative, saya menemui hal yang paling lucu dalam dunia coding, mau jadi programmer tapi belum tahu Git sedikit pun.
Mungkin tidak bisa disalahkan pula karena memang Git tidak ada dalam daftar materi ajar di sekolah atau universitas. Hanya mungkin lebih baik jika kedepannya mulai dikenalkan tentang sub versioning, khususnya Git.
Berikut akan saya share sedikit tips untuk menguasai Git hanya dalam waktu kurang dari 1 jam, tidak termasuk ngulik, error, dan koneksi lemot ya đ
Yang mana cara ini sudah saya praktekan kepada setiap siswa & mahasiswa magang dikantor WebHade. Mudah-mudahan bisa membantu untuk siapa saja yang ingin memulai berkenalan dengan Git atau mereka yang sudah mencoba namun mengalami kesulitan untuk memahami.
Menginstall Git
Yang pertama harus dilakukan, tentu saja adalah menginstall Git di komputer/laptop kamu. Langsung saja akses website download Git disini https://git-scm.com/downloads
Lalu download sesuai operating system yang kamu pakai, dan setelah selesai download setup installernya, dan cukup next-next saja sampai selesai, biarkan default saja.
Untuk yang memakai OS Linux kamu tinggal mengikuti langkah-langkah installnya disini https://git-scm.com/download/linux
Setelah selesai menginstall git, buka terminal / command prompt dan ketik perintah:
$ git
jika sudah muncul seperti gambar dibawah, berarti Git sudah siap digunakan.
Git versi Windows juga dilengkapi console tersendiri dengan nama Git Bash. Untuk mengakses git bash, kamu hanya tinggal meng-klik kanan dan memilih menu Git Bash Here.
Kenapa saya tidak memilih menggunakan GUI version?
karena saya merasa lebih mudah & praktis menggunakan console version, dibanding memakai GUI yang saya rasa agak repot, dan tentunya terlihat lebih keren kan đ
Repository
Repository atau singkatnya hanya sering disebut repo, adalah tempat Git menyimpan informasi dari semua perubahan kode-kode yang kamu kerjakan, baik sendiri maupun bersama dengan tim.
Secara umum repo terdiri dari 2 jenis, local repo dan remote repo, local tentu saja yang ada di laptop/komputer kamu, sedang remote repo adalah repo yang tersimpan di sebuah server atau komputer yang terhubung dengan jaringan internet, contoh remote repo yang paling populer adalah GitHub (https://github.com/), GitLab (https://about.gitlab.com/), dan Bitbucket (https://bitbucket.org/).
Secara privasi, repo juga terdiri dari 2 jenis, public dan private repo. Jelas public repo adalah repo yang dapat diakses siapa saja, sedang private hanya bisa diakses jika di-invite saja oleh pemilik repo itu. GitLab & Bitbucket adalah contoh layanan remote repo yang private reponya free alias tidak perlu membayar untuk menggunakannya.
Membuat Repository Baru
Yuk langsung latihan:
- silahkan buat sebuah folder dimanapun kamu mau, misal di desktop dengan nama latihangit
- buka foldernya dan akses git bash dari folder itu
- lalu ketikan perintah berikut
$ git init
Maka akan muncul pesan seperti pada gambar, dan folder .git terbuat didalam folder latihangit tadi. Folder ini ter-hidden secara default, jadi kamu harus setting show all hidden files di Folder Options ya supaya muncul.
Oke, selamat! Repository baru sudah terbuat dan siap untuk diisi
Konfigurasi Git
Setiap perubahan yang dilakukan akan tersimpan dalam sebuah commit / log , dan Git akan memunculkan info kapan dilakukan perubahan itu (Date) dan oleh siapa (Author). Untuk itu kita perlu mengatur konfigurasi user Git.
Konfigurasi Git terdiri dari 2, yaitu global & per repo. untuk melakukan setting global kamu hanya perlu menambahkan –global pada perintah config yang di-setting.
Berikut adalah perintah untuk setting nama & email pada global config
$ git config --global user.name âwisnu hafidâ $ git config --global user.email âwisnuhafid@gmail.comâ
pada OS windows, kamu akan menemukan file confignya di
C:\Users\namauserkamu\.gitconfig
jika kamu buka, kurang lebih isinya seperti ini:
[user] email = wisnuhafid@gmail.com name = Wisnu Hafid [http] emptyAuth = true
Nah jika kamu mengetik tanpa –global seperti ini:
$ git config user.name âwisnu hafidâ $ git config user.email âwisnuhafid@gmail.comâ
Maka settingan tersebut akan disimpan pada file config didalam folder .git tempat kamu membuat repo tadi
Status
Lanjutkan dengan membuat file baru didalam folder latihangit, misalnya index.html, isinya bebas, misalnya
lalu pada git bash ketikan perintah:
$ git status
Maka akan terlihat, index.html berwarna merah, artinya file ini belum ditambahkan ke commit stage, saya menyebut commit itu adalah pekerjaan yang akan disetorkan. Lebih mudahnya mungkin seperti ini fasenya
unstaged = belum / tidak disetor
commit stage = akan disetor
commited = sudah disetor
Untracked files menandakan file-file yang ada disana adalah file baru yang belum ada di repo sebelumnya.
Untuk menambah file ke commit stage, gunakan perintah
$ git add namafile.ext
kita coba menambahkan file index.html tadi dengan perintah:
$ git add index.html
Dan jika kita ketik git status lagi, maka akan muncul seperti ini:
File ini berubah menjadi warna hijau, tandanya file ini siap untuk di commit, atau siap untuk disetorkan, Git akan menandai ini sebagai perubahan yang akan di-commit-kan.
Kita coba membuat file baru lagi yang banyak misal kita buat tes1.txt, tes2.txt, tes3.txt. isinya bebas terserah. Coba juga membuat folder baru didalam folder latihangit, misalnya folderbaru, dan buat file baru disana. Lalu ketik git status.
Supaya tidak cape menambahkan satu-satu, masih mending itu hanya sedikit, bagaimana jika banyak dan foldernya berbeda-beda juga dalem, pasti repot kan. Nah kita kita bisa gunakan perintah ini:
$ git add -A
atau
$ git add .
Kedua perintah diatas akan menambahkan semua file ke commit stage.
Misalnya ternyata setelah ditambahkan semua, kita baru ingat, file tes3.txt itu jangan dimasukan ke commit stage, nah untuk menghapus file yang sudah ada di commit stage kita gunakan perintah:
$ git restore --staged namafile.ext
Jika masih menggunakan Git versi lama gunakan syntax ini
$ git rm --cached namafile.ext
Kita hapus file tes3.txt dari commit stage dengan:
$ git restore --staged tes3.txt
Commit
Nah setelah sudah merah lagi si tes3.txt nya, sekarang kita yakin nih perubahan ini mau kita commit / setorkan. Untuk melakukan commit / perubahan jika gunakan perintah:
$ git commit -m "pesan commit"
pesan commit tidak harus pendek atau detail, tetapi yang penting singkat padat dan jelas. Pointnya menjelaskan apa sih yang sudah kita kerjakan ini, apa sih perubahan yang dilakukan ini. Misalnya seperti ini:
$ git commit -m "latihan pertama git membuat index, 2 file teks, dan folder baru"
Kita juga bisa membuat comment multi baris dengan <enter>, syaratnya jangan di tutup dulu oleh tanda kutip (â) seperti ini, maka akan muncul tanda lebih besar (>), lalu jika sudah selesai kita tutup dengan tanda kutip lalu <enter>
$ git commit -m "latihan pertama git membuat index > 2 file teks > dan folder baru"
Untuk melihat semua list commit kita pakai perintah:
$ git log
Change &Â Diff
Lanjutkan dengan merubah isi file index.html misalnya kita tambahkan seperti ini:
Ubah juga isi file lainnya, terserah kamu. Lalu ketik git status.
Modified menandakan semua file yang dirubah, dan jika kita mengembalikan file yang sudah dirubah ke sebelum dilakukan perubahan (restore) kita gunakan perintah:
$ git restore namafile.ext
Untuk Git versi lama gunakan syntax ini:
$ git checkout -- namafile.ext
Maka file yang sudah dirubah itu akan kembali ke sebelumnya. Jadi hati-hati jangan sampai salah restore file ya, nanti hasil kerja kalian hilang đ lakukan jika memang diperlukan saja.
Nah misalnya kita ingin tahu tadi apa saja sih file yang dirubah, kita gunakan perintah:
$ git diff
Namun syaratnya harus dalam kondisi belum di add / masih unstaged, karena jika sudah di add, maka tidak bisa dilihat perbedaannya.
Untuk melihat perbedaan dari 1 file saja, kita gunakan perintah
$ git diff namafile.ext
Kita juga bisa melakukan commit & add dalam 1 perintah saja, yaitu:
$ git commit -am "pesan commit"
Namun hanya berlaku untuk file yang modified saja, jadi file yang masih di Untracked files tidak akan ikut ter-commit. Perhatikan gambar berikut:
Branch
Branch pada Git, itu sama seperti layaknya cabang pada pohon. Pada pekerjaan yang melibatkan banyak personil atau banyak fitur yang dikerjakan, kita tentunya ingin membuat cabang utama aman, dan tidak terpengaruh oleh cabang lainnya.
Branch default pada Git adalah master, ketika kamu mengetik git status muncul kan tulisan on branch master. Master adalah cabang utama yang menyimpan pekerjaan kita yang sudah berjalan dengan baik, kasarnya yang baik-baik ada di master. Nah misalnya kita membuat website dan sudah berjalan dengan baik, kita simpan kodenya pada branch master, lalu suatu saat kita ingin menambah fitur baru, tapi kita tidak ingin merusak kode yang ada di master. Pada situasi ini, kita perlu branch baru, dan di branch baru ini, mau kita melakukan apapun, tidak akan berpengaruh pada kode yang ada di branch master.
Untuk melihat semua branch yang kita miliki gunakan perintah
$ git branch
Untuk membuat branch baru cukup tambahkan nama branch setelahnya, seperti ini
$ git branch namabranchbaru
Branch dengan tanda bintang (*) dan berwarna hijau, adalah branch yang aktif, atau yang sedang kamu gunakan. Untuk berpindah ke branch yang lain, gunakan perintah:
$ git checkout namabranch
Coba tambahkan branch baru lagi, bebas.
Untuk menghapus branch, gunakan perintah:
$ git branch -d namabranch
Jika branch yang dihapus adalah branch aktif, maka muncul error seperti dibawah ini. Jadi kamu harus pindah ke branch yang lain dulu, baru setelah itu hapus branch-nya.
Membuat Remote Repository
Latihan selanjutnya membutuhkan akun GitHub untuk testing, jadi jika kamu belum memiliki akun di GitHub, silahkan daftar dahulu dan jangan lupa verifikasi emailnya.
Setelah login ke GitHub, buat repository baru dengan mengklik icon +dan pilih dropdown menu New repository, atau klik Tombol New repository seperti yang ditunjukan pada gambar dibawah ini.
Pada halaman berikutnya, isi Repository name bebas, jika memakai spasi maka akan diganti menjadi dash (-). Pilih Public, atau pilih Private jika kamu punya dollar untuk bayar Private Repo silahkan saja hehe đ
Biarkan yang lain seperti pada gambar, lalu klik button Create repository
Pada halaman berikutnya, terdapat 3 opsi untuk mengisi repo yang baru saja kamu buat. Pada latihan kali ini, karena kita sudah mempunyai local repo, maka kita tinggal mengikuti opsi ke 2.
Untuk melihat semua remote repo yang ada pada local repo kita gunakan perintah
$ git remote -v
Karena kita belum mempunyai remote repo maka tidak akan muncul apa-apa seperti ini:
Untuk menambah remote baru, kita gunakan perintah:
$ git remote add namaremote https://alamat-remote
Kita copy saja perintah yang ada di GitHub seperti ini
Untuk mem-paste-kan di Git Bash perlu perlakuan khusus, kita klik kanan dan pilih Paste seperti gambar diatas, atau kita tekan shortcut Shift+Insert
origin adalah istilah penamaan yang umum digunakan, yang menandakan asal, atau remote repo utama/default. Jadi namanya tidak harus selalu origin, boleh bebas, misalnya github seperti ini:
Push
Untuk melakukan push / setor kode / upload kode ke remote repo, kita gunakan perintah berikut:
$ git push -u namaremote namabranch atau $ git push namaremote namabranch
-u dapat diganti juga dengan –set-upstream, berfungsi untuk menambah info upstream atau tracking untuk setiap branch yang up-to-date atau sukses dilakukan push, yang berguna ketika melakukan perintah lain seperti git pull. Jadi direkomendasikan menambah opsi -u setiap kali melakukan push ke remote repository
Kita coba push branch master ke repository github yang tadi kita buat dengan perintah:
$ git push -u origin master
Lalu masukan username & password GitHub kita, popup login ini hanya akan muncul satu kali saja ketika pertama kali melakukan push ke GitHub per user id.
Jika proses push berhasil, maka akan muncul seperti gambar dibawah ini.
Dan jika kita refresh url GitHub repo kita, maka akan terupdate seperti ini:
Klik link commits seperti yang ditunjukan pada gambar diatas, maka akan muncul log commit kita seperti ketika kita gunakan perintah git log.
Clone
Clone atau menduplikasi kode dari remote repo adalah hal yang biasa dilakukan ketika kita bekerja dalam sebuah tim, terutama untuk anggota tim baru yang ikut membantu pekerjaan dalam sebuah project aplikasi.
Untuk melakukan cloning dari remote repo ke local/laptop/komputer digunakan perintah:
$ git clone https://alamat-remote
1. Jika kamu melakukan cloning dengan perintah berikut:
$ git clone https://github.com/wisnuhafid/latihan-git.git
maka akan membuat folder latihangit secara otomatis
2. Jika kamu tambahkan nama folder setelah url remote repo seperti ini:
$ git clone https://github.com/wisnuhafid/latihan-git.git latihan2
Maka akan melakukan cloning ke folder dengan nama latihan2
3. Jika kamu membuat folder baru lalu menjalankan git bash dari sana, dan menambahkan titik (.) setelah url remote repo seperti ini:
$ git clone https://github.com/wisnuhafid/latihan-git.git .
Maka akan melakukan cloning pada folder tempat git bash dijalankan tadi
Oke, Close semua Git Bash dan jalankan Git Bash Here dari desktop, dan lakukan cloning dengan 3 cara diatas.
Penutup
Oke, jika kamu melakukan semua langkah yang saya jelaskan diatas, maka saat ini kamu sudah bisa dibilang menguasai basic dari penggunaan Git untuk development sebuah aplikasi atau website.
Apakah kurang dari 1 jam ? silahkan comment dibawah ya đ saya yakin lebih hihi
Next time akan saya lanjutkan dengan pembahasan Git lebih mendalam seperti Pull, Merge, Branching Strategy, dll.
See You Later, and Good Luck
Admin Webhade
Terimakasih kang Wisnu đ
Penjelasan di atas mengenai dasar GIT sangat membantu dan begitu jelas sehingga saya gampang memahaminya. Saya tunggu artikel selanjutnya hehe
Hi Mas Ali, terima kasih sudah membaca, jangan lupa untuk terus dipraktekan berulang kali agar lebih mahir ya đ sip artikel selanjutnya nanti agak advanced bahasan Git nya, ditunggu saja đ
Terimakasih bang, sangat membantu
Walaupun saya menggunakan gitlab sebagai contoh kasus tapi tetap berhasil. Sekali lagi terimakasih bang Wisnu đ
Semoga Allah selalu berikan kesehatan