Perintah Git CVS (Control Versioning System) yang Harus Kamu Ketahui

“Let’s Git this Party Started” — Kim Moir
Halo semua, balik lagi bersama saya Ocit dan pada kesempatan kali ini saya akan membagikan sedikit mengenai Git CVS (Control Versioning System) dari definisi, kegunaan, hingga command yang wajib kamu ketahui agar nantinya dapat mempermudah kamu ketika memiliki suatu proyek yang akan dikerjakan oleh lebih dari satu orang.
Git CVS itu apa cit?
Menurut wikipedia.com, Git adalah perangkat lunak pengendali versi atau proyek manajemen kode lunak yang diciptakan oleh Linus Torvalrds, yang pada awalanya ditujukan untuk pengembangan kernel linux. Oke, pasti kurang jelas kan?
Jadi gampangnya git itu adalah sebuah sistem aplikasi yang dapat mempermudah kita dalam melihat perubahan yang terjadi dari files yang terdapat di dalamnya serta mempermudah koordinasi pekerjaan setiap individu dalam suatu kelompok ketika mengerjakan suatu proyek yang sama.
Nah kalau CVS itu apa ?
Kalau CVS sendiri adalah sebuah singkatan dari Control Versioning System yang biasa kita sebut dengan Version Control System. Seiring berjalannya waktu, ketika terdapat sesuatu yang diubah dari file / berbagai files maka hal itu yang disebut dengan “changes in file”. Jadi CVS ini akan mempermudah kita dalam melakukan tracking dan melihat record dari semua perubahan yang terjadi di dalam file agar kita dapat melakukan revert back (kembali ke sebuah kondisi file tertentu) ketika terjadi perubahan yang sebenarnya tidak kita inginkan.
Cara gunain gitnya gmn cit?
Nah sebelum memulai belajar menggunakan Git, pastikan kamu sudah menginstalnya. Buat kalian yang belum install bisa ikutin langkah dibawah ini:
1. Installing Git
- Windows Users: Unduh Git disini dan install ke dalam sistem kamu
- Linux Users: ketikkan command
$ sudo apt install git-all
- macOS Users: ketikkan command
$ git --version
Kamu dapat memastikan Git sudah terinstall di perangkatmu dengan membuka terminal dan ketikkan command $ git

2. Persiapkan Repository
Nah setelah kamu menginstall git di perangkamu, kamu juga harus membuat repository (tempat kamu menyimpan file nantinya). Kamu bisa memanfaatkan beberapa platform seperti Github, Gitlab, Circle CI dan lain sebagainya. Namun, disini saya telah membuat repository kosong di Gitlab agar kita dapat melihat sama-sama perubahan yang terjadi nantinya.
Nah setelah kita memiliki repository, maka kita dapat menggunakan beberapa command dasar di bawah ini sebagai langkah awal mempelajari git.
Git Init
Agar project kita dapat menjalankan versioning control maka kita harus melakukan inisiasi terhadap repository yang berada di perangkat kita (folder local) dengan menjalankan perintah $ git init
. Notes: Jangan lupa siapkan folder kosong dan masuk ke dalamnya melalui terminal ya!

Git Config
Kalau sudah memiliki akun di suatu repository online, kita harus melakukan config akun agar dapat melakukan koneksi nantinya dari folder local ke repository yang sudah kita buat. Kamu hanya tinggal mengganti nama lengkap dan juga email yang kamu gunakan ketika mendaftar pada repository online ya.
$ git config user.name "Nama Lengkapmu"
$ git config user.email "emailmu-buat-gitlab/github/circleci.com"

Git Remote
Nah agar nantinya kita dapat melakukan unggah data pada project, kita harus melakukan koneksi antara folder local di perangkat kita dengan repository yang sudah kita buat tadi (gitlab).
$ git remote add origin ganti-dengan-link-repository-kamu.git

Git Add
Sekarang folder local kita sudah dapat terhubung dengan repository dan kita dapat membuat suatu file yang akan dianggap sebagai suatu perubahan (changes in file). Perubahan yang terjadi pada project kita akan masuk ke dalam tahap unstage area dan agar perubahan yang terjadi tersimpan di staging area maka kita harus melakukan command git add.
Sekarang disini saya sudah mencoba menambahkan file readme.md yang berisikan biodata singkat saya agar dapat dilihat melalui repository nantinya.

Terdapat 2 cara untuk melakukan git add, yaitu dengan add salah satu file saja dengan command
$ git add nama-file
atau melakukan add seluruh project dengan command
$ git add .
saya pribadi lebih menyarankan untuk menggunakan git add . agar mencegah terlewatnya suatu perubahan yang tidak terlihat dalam project kita.

Git Commit
Git Commit ini berfungsi agar segala perubahan yang sudah terjadi di local dapat kita simpan. Hal ini bermanfaat ketika kita ingin berpindah branch, melakukan pull, atau merge branch, kita tidak perlu takut kehilangan perubahan yang ada di dalam local kita (yang nantinya bisa digabungkan dengan perubahan yang terjadi ketika kita melakukan git pull, merge, ataupun pindah branch).
Terdapat 2 command untuk git commit yaitu
$ git commit
dan
$ git commit -m "nama commit"
Lalu bedanya apa cit ? singkatnya kalau git commit biasa itu kita dapat menambahkan deskripsi yang cukup banyak utuk sebuah commit, sedangkan commit -m itu seperti sebuah jalan pintas agar kita tidak memakan waktu lama dalam melakukan commit.

Git Push
Setelah menyimpan seluruh perubahan yang ada pada project kita, sudah saatnya kita melakukan unggah project atau file yang mengalami perubahan ke repository yang sudah kita hubungkan tadi. Karena kita disini belum membuat branch tertentu maka kita dapat melakukan push langsung ke branch baru yang bernama master (cabang utama).
$ git push origin master

Kita juga dapat melihat perubahan tersebut melalui repository kita secara langsung untuk memastikan bahwa push yang kita lakukan sudah berhasil.

Git Pull
Oke kita sudah dapat melakukan unggah data ke repository yang kita miliki, trus gimana caranya kalau terjadi perubahan yang dilakukan oleh teman kelompok kita / partner kerja yang mengerjakan suatu project yang sama agar di local kita juga sudah up-to-date dengan yang terakhir kali di push oleh mereka?
Git pull jawabannya!
Disini saya akan coba untuk melakukan perubahan secara langsung melalui gitlab sehingga di local terdapat perubahan yang belum dimiliki layaknya di gitlab.

Git pull akan mengambil seluruh perubahan yang ada di suatu branch tertentu sekaligus melakuakn merge dengan folder local kita. Karena perubahan yang terjadi tadi ada di repository maka saya akan coba melakukan git pull agar perubahan tadi dapat dirasakan jg oleh folder local saya.
$ git pull origin branch-kamu

Nah karena git pull secara otomatis melakukan merge (penggabungan) antara file yang ada di repository dengna file local maka file local kita akan otomatis berubah (jika terdapat conflict harus memilih mau perubahan local atau repository). Dapat terlihat di bawah bahwa file biodata.md sudah terupdate sesuai dengan yang ada di repository.

Git Clone
Nah, misalnya kamu lupa gabawa perangkat kamu tetapi kamu harus edit file yang ada di repository dan gabisa secara langsung lewat gitlab. Kamu bisa melakukan Git Clone untuk meng-copy satu project secara keseluruhan ke dalam suatu file local tanpa harus melakukan inisiasi terlebih dahulu loh.
Jadi coba kita buat folder baru dan jalankan git clone biar kita bisa mengubah project kita nantinya.
$ git clone repository-kamu.git

Setelah melakukan git clone, secara otomatis project kamu terunduh ke file beserta nama projectnya loh, keren kan!

Git Log
Nah, lalu gimana caranya kita mengetahui sedang berada di branch apa dan perubahan apa yang terakhir kali dilakukan ? git log menjawab pertanyaan kamu sob!
Git log memperlihatkan kepada kamu seluruh history commit yang sudah pernah dilakukan beserta informasi branch yang bersangkutan dan user yang melakukan commit tersebut.

Gimana, cukup lengkap kan?
Mungkin itu saja yang bisa saya bagikan tentang dasar Git kali ini dan masih banyak command Git lainnya yang sempat saya bagikan sehingga teman-teman jangan lupa tetap harus membaca dokumentasi resmi dari Git ya.
Jika terdapat kesalahan, kritik, dan saran bisa teman-teman sampaikan melalui linkedin saya atau komen di postingan ini.
Terima kasih :)