-
Notifications
You must be signed in to change notification settings - Fork 4
GIT
Git adalah sebuah perangkat lunak yang sering digunakan oleh programmer sebagai sistem pengontrol versi(Version Control System) yang bertugas untuk mencatat setiap perubahan pada file proyek yang dikerjakan ileh banyak orang maupun sendiri. Git digunakan untuk memudahkan programmer untuk melakukan kolaborasi dan meminimalisir hilangnya kontrol atas kode proyek yang sedang dikerjakan.
Sebelum kita bisa bekerja menggunakan Git kita harus menginstall Git pada komputer kita.
- Instalasi pada linux(debian) Jalankan perintah dibawah.
sudo apt-get install git
-
Instalasi pada windows Download installer git dari website resminya git-scm.com kemudian unduh sesuai arsitektur komputer kita. Instalasinya tinggal melakukan next-next saja. Perhatikan saat bagian ini agar git dapat dikenali oleh CMD.
a. Pilih Use git from th windows command prompt
b. pilih Checkout windows-style, commit unix-style line endings
c. Pilih use windows default console window
Setelah itu, coba periksa versi yang terinstall dengan perintah
git --version
Jika menampilkan versi git maka instalasi berhasil
Setelah melakukan instalasi selanjutnya kita harusmelakukan konfigurasi username dan email. Jalankan perintah berikut
git config --global user.name "username"
git config --global user.email [email protected]
Jika kalian memiliki akun Github, Gitlab atau yang lainnya maka username dan email harus mengikuti akun tersebut agar mudah diintegrasikan. Untuk mengecek hasil konfigurasi jalankan perintah
git config --list
Jika berhasil maka username dan email akan tampil saat kalian menjalankan perintah diatas.
Repositori adalah sebuah direktori(folder) yang menggunakan Git. Jika kita memiliki direktori bernama proyek-web dan didalamnya sudah menggunakan git maka kita sudah memiliki repositori bernama proyek-web. Untuk membuat repositori menggunakan perintah git init
.
git init proyek-web # Membuat direktori bernama proyek-web dan menginisiaisasi git didalamnya

Ada hal lain yang harus kita perhatikan ketika membuat repositori. Terkadang kita menginginkan tidak semua file yang ada pada repositori kita untuk dicatat perubahannya. Pada git kita bisa membuat file yang bernama .gitignore
. Pada file itu kita bisa menuliskan file file apa yang terletak pada repositori kita unutuk tidak dicatat perubahannya.
Kali ini kita akan melakukan revisi pada repositori yang telah kita punya seperti menambahkan file baru dan mengubah isinya. Misal kita membuat tiga file baru pada repositori kita.

Setelah kita tambahkan coba tuliskan perintah git status
untuk melihat status pada repositori kita.

Bisa dilihat bahwa ada tiga file yang belum ditambahkan ke Git dan berstatus Modified. Pada git terdapat tiga status dengan keterangan yang berbeda-beda.
- Modified adalah kondisi dimana terdapat perubahan pada file kita tapi belum ditandai dan disimpan di GIT. Contohnya adalah tiga file diatas yang telah dibuat.
- Staged adalah kondisi dimana file yang memiliki perubahan sudah ditandai tapi belum tersimpan pada git. Untuk mengubah kondisi file dari Modified ke Staged kita menggunakan perintah
git add <nama-file>
. 3 Commited adalah kondisi dimana perubahan sudah disimpan pada Git. Untuk mengubah kondisi file dari Staged ke Commited menggunakan perintahgit commit -m "pesan perubahan"
.
Selanjutnya kita tandai ketiga file yang telah kita buat menggunakan perintah git add
git add . // mengubah status semua file dan direktori yang telah berubah menjadi staged

Setelah itu kita commit semua perubahan kita menggunakan perintah git commit
git commit -m "init file"

Bisa dilihat pada gambar diatas bahwa semua file yang memiliki perubahan sudah tersimpan pada git sehingga suatu saat setelah kita melakukan perubahan lagi dan ingin kembali ke versi yang telah disimpan sebelumnya dapat dilakukan.
Suatu saat dalam perjalanan proyek yang kita kerjakan terkadang menginginkan untuk melihat log perubahan apa saja yang telah dilakukan oleh kita dan tim kita. Hal ini dapat dilakukan jika kita menggunakan git. Tuliskan perintah git log
untuk melihat perubahan apa saja yang telah dilakukan pada repositori kita.

Terdapat beberapa opsi yang bisa dilakukan dengan git log
seperti melihat log pada file tertentu atau log pada nomor commit tertentu dan banyak lagi yang bisa kalian eksplor lebih lanjut.
Selain bisa melihat log perubahan yang telah dilakukan pada repositori, git juga memiliki kemapuan untuk membandingkan perubahan yang terjadi pada repoositori kita. Hal ini bisa kita lakukan menggunakan perintah git diff
. Pada git diff terdapat beberapa penanda perubahan. Tanda -
berarti ada yang dihapus, tanda +
berarti ada yang ditambahkan, tanda -
lalu diikuti +
berarti ada yang dimodifikasi/diubah.

Pada gambar diatas kita bisa melihat bahwa ada modifikasi yang dilakukan karena ada tanda -
diikuti +
. Selain perintah git diff
biasa kalian bisa menambahkan argumen untuk melihat perbedaan yang dilakukan berdasar nomor commit, nama file, author dan lain lain yang bisa kalian eksplor lebih lanjut.
Tujuan kita menggunakan Git adalah agar kita bisa menyimpan setiap perubahan pada repositori kita agar suatu saat kita ingin kembali ke perubahan sebelumnya karena beberapa alasan bisa dilakukan dengan mudah. Terdapat beberapa perintah yang digunakan untuk melakukan pembatalan perubahan yaitu git checkout
, git reset
dan git revert
.
Jika perubahan yang kita lakukan masih belum staged atau commited, kita bisa mengembalikannya menggunakan perintah git checkout <nama-file>
.
Keadaan sebelum di kembalikan.

Keadaan setelah di checkout.

Hati-hati dalam menggunakan perintah ini karena perubahan yang sudah kita buat pada file tersebut akan dihapus dan tidak bisa dikembalikan lagi.
Jika perubahan yang kita lakukan sudah dalam keadaan staged maka kita harus menjalankan perintah git reset <nama-file>
terlebih dahulu untuk mengubah keadannya menjadi modified.

Kemudian setelah di reset.

Untuk mempelajari lebih lanjut mengenai pengembalian versi dari file yang telah kalian kerjakan dengan git, kalian bisa mengeksplor lebih lanjut pada website ini
Ketika kita bekerja dengan tim menggunakan git maka yang mengubah file dari proyek kita tidak hanya satu orang, akan tetapi oleh banyak orang sehingga mungkin saja terjadi yang dinamakan bentrok(conflict). Agar terhindar dari conflict maka yang bisa kita kerjakan adalah membuat cabang(branch) agar masing masing anggota bisa mengerjakan bagian dari proyeknya dan tidak menyebabkan conflict pada file proyek yang sedang dikerjakan. Untuk membuat cabang baru kita bisa menggunakan perintah git branch <nama-cabang>
. Kemudian untuk mengecek cabang yang ada kita menggunakan perintah git branch
.

Tanda (*) berarti cabang yang sedang aktif. Untuk berpindah cabang kita bisa menggunakan perintah git checkout <nama-cabang>
.

Jika kita sudah selesai melakukan pekerjaan pada cabang yang telah dibuat maka kita bisa menggabungkan cabang tersebut dengan master dengan perintah git merge <nama-cabang>
.

Apakah kalian familiar dengan Github, Gitlab? mereka adalah layanan yang populer digunakan sebagai repoitori secara remote. Layanan remote repositori digunakan untuk memudahkan pekerjaan secara tim dan jarak jauh sehingga bisa berkolaborasi dengan lebih mudah. Kali ini kita akan menggunakan Github sebagai remote repositori kita. Buatlah sebuah repositori pada akun Github kalian.

Sekarang kita sudah memiliki repositori kosong pada Github kita. Selanjutnya kita ingin mengunggah file pada repositori lokal kita. Agar bisa melakukan hal tersebut kita perlu me-remote repositori kita pada Github menggunakan perintah git remote add <nama-remote> <URL(SSH/HTTPS)>
. Perbedaan menggunakan SSH dan HTTPS terletak pada waktu kita melakukan upload pada remote repositori kita. Jika menggunakan HTTPS maka kita diminta untuk memasukkan password akun kita setiap saat, sedangkan jika menggunakan SSH kita tidak perlu memasukkan password tapi harus melakukan konfigurasi SSH Key terlebih dahulu.

Setelah itu kita kirim file yang ada pada repositori lokal kita menggunakan perintah git push -u <nama-remote> <nama-cabang>
.

dan bisa kita lihat pada repositori kita di Github sudah ada isinya.

Agar kalian lebih paham dalam menggunakan git kalian bisa melakukan ekplorasi lebih lanjut pada berbagai sumber. Menguasai Git adalah salah satu skill yang esensial yang harus dimiliki oleh setiap programmer agar kalian bisa bekerja dengan tim dan memiliki sistem pencatat versi dari proyek yang sedang kalian kerjakan.