Mahasiswa Ilmu Komputer belum ngerti make git & github? Duh Gaptek banget…..

GDSC Universitas Mulia
20 min readNov 9, 2021

--

Ditulis Oleh : Farhan Rivaldy

PENDAHULUAN

Judulnya bikin kesal Kalian yah? hehehe maafkan cuman clickbait doang kok hehehe *peace*….

Ini adalah tulisan pertama dari komunitas Kami DSC Mulia University, jadi mohon maaf jikalau banyak sekali kesalahan dalam penulisan, saran dan kritik akan sangat berguna bagi kami kedepannya 😉😉😉

VERSION CONTROL SYSTEM, APA ITU DAN KENAPA SANGAT PENTING DIPELAJARI?

Sebelum mencul Version Control System

Saat mengerjakan sebuah pekerjaaan, tak luput Kita melakukan revisi atau perubahan pada file, biasanya ketika selesai mengerjakan pekerjaan, file pertama akan Kita simpan dengan nama “Document 1”, setelah melakukan revisi akan Kita simpan file tersebut dengan nama “Document 2”, begitu seterusnya sampai revisi selesai

Kenapa kita melakukan hal tersebut? supaya kita bisa mengetahui perubahan yang terjadi di tiap revisi sehingga jika suatu waktu kita perlu menggunakan revisi sebelumnya kita bisa melihatnya dengan mudah

Version Control System

Version Control System atau sering juga disingkat dengan (VCS) *Mikirnya jangan aneh-aneh dulu wkwkwk* adalah sebuah sistem yang merekam perubahan-perubahan yang terjadi dari sebuah file dari waktu ke waktu, sehingga Kita bisa melihat versi sebelumnya jika diperlukan

Version Control System sangat populer sekali di kalangan orang yang berprofesi sebagai software engineer/programmer/tukang ketik, kenapa sangat populer? karena programmer hanyalah seorang manusia biasa tentunya tak luput juga dari kesalahan, jika kode program yang ditulis oleh programmer terjadi kesalahan (bug, syntax error, atau bahkan terhapus), maka dengan mudah si programmer kembali ke versi file sebelumnya yang tidak memiliki kesalahan

Tak hanya file berbentuk text/tulisan, version control system juga mendukung berbagai macam format file, sehingga Kita tidak perlu backup secara manual setiap terjadi perubahan

Contoh penggunaan version control system pada gambar : https://gitlab.com/gitlab-org/gitlab-test/commit/2f63565e7aac07bcdadb654e253078b727143ec4?view=inline

JENIS-JENIS VERSION CONTROL SYSTEM

Version Control System dibagi menjadi tiga jenis :

  • Local Version Control
  • Centralized Version Control
  • Distributed Version Control

Local Version Control

Local Version Control merupakan version control yang berjalan hanya di local komputer, jenis ini biasa digunakan karena sederhana dan tidak membutuhkan server untuk menyimpan pekerjaaan yang dilakukan, semua riwayat pekerjaan hanya disimpan di local komputer.

Ilustrasi Local Version Control

Centralized Version Control

Masalah yang terjadi pada Local Version Control adalah jika komputer kita rusak maka seluruh data pekerjaan Kita akan ikut rusak / hilang, selain itu agak sulit untuk berkolaborasi dengan pengguna lain jika file hanya dimiliki oleh satu komputer, untuk menangan masalah ini, munculah jenis Centralized Version Control.

Centralized Version Control menyimpan seluruh data pekerjaan Kita di server, jika ingin melihat file tersebut Kita bisa mengakses file tersebut ke server dimana Kita menyimpan file tersebut.

Masalah yang terjadi di Centralized Version Control adalah jika Kita offline atau tidak bisa mengakses ke server maka Kita tidak bisa melihat riwayat data file karena semua riwayatnya hanya disimpan di server, dan jika server down maka seluruh pengguna tidak bisa melakukan perubahan ataupun melihat revisi file

Contoh dari Centralized Version Control yang paling terkenal adalah Concurrent Versions System dan Apache Subversion

Ilustrasi Centralized Version Control

Distributed Version Control

Permasalahan di Centralized Version Control bisa diatasi dengan menggunakan Distributed Version Control, di dalam Distributed Version Control, pengguna tidak hanya mengambil riwayat file versi terakhir, namun seluruh riwayar revisi di copy seluruhnya dan disimpan ke local komputer. hal ini berguna jika terjadi masalah dengan server, pengguna masih bisa tetap bekerja, memanipulasi bahkan sampai melihat riwayat perubahan file

Di dalam Distributed Version Control, server bisa klebih dari satu sehingga jika salah satu server bermasalah, data pengguna masih tetap aman di backup oleh server lainnya

Contoh Distributed Version Control yang paling terkenal adalah Git (yang akan Kita bahas di materi ini), Mercurial, Bazaar, dan lain-lain

Ilustrasi Distributed Version Control

PENGENALAN DENGAN GIT

Sejarah Git

Di tahun 1991–2002 Kernel Linux di develop, setiap perubahan disimpan sebagai patch dan archived files. Pada tahun 2002 Kernel Linux mulai menggunakan Distributed Version Control System bernama BitKeeper.

Sayangnya di tahun 2005, hubungan antara perusahaan pemilik BitKeeper dengan komunitas Linux Kernel kurang baik karena status “gratis” pada Bitkeeper dicabut.

Karena linux sendiri merupakan project yang open source (gratis, bisa digunakan siapa saja dan semua orang bisa ikut berkontribusi) yang mana prinsip dari Bitkeeper ini bertolak belakang dengan prinsip yang dianut oleh linux.

FYI : Pada tahun 2016 Bitkeeper merubah lisensi mereka yang sebelumnya berbayar menjadi open source, yang berada di naungan lisensi apache versi 2

Sehingga pembuat linux, si Linus Torvalds mulai mengembangkan tools Distributed Version Control System (DVCS) sendiri yang bersifat gratis yang diberi nama GIT

Git pertama kali dikenalkan pada tahun 2005 dan semakin berjalannya waktu Git semakin populer di dunia karena mudah digunakan serta sangat efisien dalam me-manage project dalam ukuran besar

Pengenalan Git

Git merupakan Distributed Version Control System yang cukup populer, Git tidak membutuhkan server untuk melakukan perubahan atau melihat riwayat revisi yang sudah Kita lakukan, hal ini dikarenakan dalam Git semua riwayat project akan selalu di duplikasi, baik itu di server atau di local komputer, bisa dibilang hampir semua operasi dilakukan secara di local komputer. Artinya sebenarnya Git juga bisa dialkukan sebagai Local Version Control

Setiap perubahan yang terjadi akan selalu dibuat signature (tanda) menggunakan algoritma hashing SHA-1, perubahan sekecil apapun itu pasti bisa dideteksi oleh Git. Semua hal yang terjadi di Git secara otomatis akan dicatat, hal ini menjadikan perubahan apapun di Git, pasti akan bisa dikembalikan ke versi sebelum-sebelumnya

Menginstall Git

Git adalah aplikasi open source dan gratis, sehingga bisa digunakan oleh siapa saja dan siapapun bisa berkontribusi di project Git. Git tersedia di berbagai sistem operasi seperti : Windows, Mac, dan Linux. Untuk mendapatkan Git bisa kunjungi di website : https://git-scm.com/downloads

Memastikan Git terinstall dengan baik

Git sendiri merupakan aplikasi berbasis terminal / command line (cli),oleh karena itu untuk menggunakan Git kita perlu membuka terminal pada perangkat Kita

Setelah proses install Git selesai, untuk mengecek apakah Git sudah terinstall dengan benar di komputer Kita, Kita bisa langsung mengecek versi Git yang terinstall cukup gunakan perintah :

git — version

Berhasil diinstall

Konfigurasi Git

Setelah Git berhasil diinstall, hal yang pertama kali kita lakukan adalah melakukan konfigurasi, dalam blog kali ini Kita akan mengkonfigurasi Git dan Github secara bersamaan

Perlu diingat Git dan Github adalah dua hal yang berbeda, akan Saya jelaskan nanti untuk saat ini ikuti saja tutorialnya dulu

Konfigurasi user name

git config — global user.name “Nama Kalian”

Konfigurasi user email

git config — global user.email “Email Kalian”

Konfigurasi user password

Nantinya Kita tidak hanya menyimpan pekerjaan kita di local komputer saja (Local Version Control) tetapi kita juga nantinya akan menyimpan pekerjaan Kita di server

Server yang kita gunakan nantinya adalah Github, Oleh karena itu jika teman-teman pembaca sekalian belum punya akun github silahkan daftar, tenang gratis kok…

Untuk menyimpan pekerjaan Kita di github, Kita harus mengkonfigurasi beberapa hal seperti password. Berbeda seperti konfigurasi diatas, untuk mengkonfigurasi password github di local komputer Kita agak sedikit ribet

Awalnya Kita cukup melakukan konfigurasi password sama seperti Kita mengkonfigurasi user.name dan user.email, tetapi sekarang github mengubah konfigurasinya dikarekan alasan keamanan sehingga Kita perlu men-generate Personal Access Tokens

Bagaimana Caranya? Silahkan lihat screenshot dibawah ini

Kunjungi Github.com, dan silahkan login dengan akun yang sudah ada
Klik profile picture kalian, lalu pilih menu Settings
Di bagian sidebar, silahkan pilih menu Developer Settings
Lalu pilih Personal access tokens
Pilih Generate new token
Masukkan Password bila diminta
Silahkan isi Note, untuk apa Kalian menggunakan PAT tersebut
PAT sendiri punya masa expired nya, kalian bisa men-setting berapa lama PAT tersebut akan digunakan. Saya sendiri men-setting No expiration agar tidak ribet kedepannya (bukan best practice harusnya)
Lalu pilih scope / batasan yang bisa dilakukan, untuk saat ini silahkan centang semua
Setelah semua dicentang, silahkan Generate tokennya
Jangan lupa untuk menyimpan PAT kalian di suatu tempat, karena PAT tidak akan bisa dilihat lagi nantinya. PAT nantinya akan kita gunakan lagi, jadi jangan sampai teman-teman sekalian tidak menyimpannya yah…

Selamat Kalian sudah berhasil melakukan konfigurasi di github, setelah kita berhasil lalu langkah selanjutnya apa? oke kita balik ke pokok bahasan utama yaitu belajar Git dasar

Workflow Git

Repository

Repository adalah sebutan untuk project di Git, untuk membuat sebuah repository Kita bisa langsung membuat folder kosong atau folder yang sudah berisi file, lalu menjadikan folder tersebut sebagai Git repository. Kita bisa melakukan clone / duplikasi Git repository yang sudah ada di server Git

Membuat Repository

Untuk membuat repository cukup gunakan perintah :

git init

Perintah tersebut Kita jalankan pada folder yang akan Kita jadikan sebagai Git repository. setelah menjadikan sebuah folder menjadi Git Repository, secara otomatis folder dengan nama .git otomatis akan dibuat

Folder tersebut merupakan isi riwayat database dari Git, alangkah baiknya jangan sampai Kita mengutak-atik folder tersebut

Three States

Sebelum melangkah lebih jauh, ada hal utama yang wajib dipahami terlebih dahulu yaitu state / status terhadap file di Git

Git memiliki tiga states terhadap file yaitu : modified, stagged, dan commited

Modified artinya Kita melakukan perubahan (menambah, mengedit, menghapus) file, namun belum disimpan secara permanen ke repository

Stagged artinya Kita menandai file yang sudah Kita modifikasi (menambah, mengedit, menghapus) dan akan disimpan secara permanen ke repository

Commited artinya file Kita sudah aman disimpan secara permanen ke dalam repository

Three Sections

Tiga states diatas di dalam Git dilakukan di sections / area yang berbeda-beda

Git memiliki tiga sections / area yaitu : Working Directory, Staging Area / Staging Index, dan Repository

Working Directory merupakan tempat dimana kita melakukan modifikasi(menambah, mengedit, menghapus) file

Staging Area / Staging Index merupakan tempat dimana file akan siap disimpan secara permanen, di sections ini semua informasi modifikasi file akan disimpan

Repository merupakan tempat dimana semua file dan database riwayat perubahan file disimpan

Three section

Workflow

Workflow di Git secara sederhana :

Setiap ingin melakukan modifikasi file itu Kita lakukan di Working Directory, jika modifikasi file siap disimpan secara permanen ke repository, Kita akan memindahkan file tersebut ke staging area / staging index, dan yang terakhir jika ingin menyimpan file secara permanen akan Kita pindahkan ke repository

Workflow pada Git

Hash Git

Snapshot

Perubahan pada Git tidak hanya terbatas satu file Saja, tetapi bisa untuk beberapa file sekaligus, semua perubahan yang terjadi akan direkam dan disebut juga dengan snapshot

Snapshot berisikan semua perubahan yang terjadi di semua file yang sudah Kita commit, setiap snapshot memiliki hash sebagai identitas snapshotnya

Hash merupakan checksum untuk menghitung perubahan yang terjadi, Apa itu checksum? checksum adalah urutuan angka dan huruf yang digunakan untuk memeriksa kesalahan pada data. Untuk menghasilkan checksum Kita bisa menggunakan beberapa algoritma hash seperti MD5, SHA-1, SHA-256, SHA-512, Base32, Base64, Keccak-256, dan lain-lain

Git sendiri menggunakan algoritma SHA-1 untuk menghitung hash, contoh hash Git :

50797e711876dbb2fec4bbc90014ef5565bed85a

Hash di setiap commit

Hash dibutuhkan untuk menjaga integritas data, sehingga tiap snapshot yang sudah kita buat, atau file yang sudah Kita commit tidak bisa diubah. Hal ini karena akan secara otomatis akan merusak hash yang sudah Kita buat

Perhitungan hash tidak dilakukan hanya dari perubahan file, namun juga dari parent, author, dan message commit, jika terjadi perubahan di salah satu snapshot maka akan menimbulkan efek berantai karena hash selanjutnya akan berubah

Hash satu dengan hash lainnya saling berkaitan, jika salah satu berubah maka yang lain juga akan ikut terkena dampak perubahannya

Head

Head merupakan pointer atau petunjuk hash yang paling terakhir, karena kadang akan merepotkan bila harus menulis hash value yang baru, jadi jika kita akan menuju hash yang paling baru, Kita bisa gunakan kata HEAD

HEAD merupakan penunjuk hash yang akhir dari sebuah commit / snapshot

Operasi Git

Menambah File

Untuk menambahkan file baru ke repository, Kita cukup tambahkan filenya saja, secara otomatis file yang kita tambahkan awalnya akan berada di working directory.

Secara default saat baru menambahkan file baru Git tidak akan men-track perubahan yang terjadi pada file tersebut, agar perubahannya bisa di track oleh Git, Kita harus pindahkan file tersebut dari working directory ke staging area / index

Repository kosong
Untracked files, artinya file tersebut tidak akan di track perubahannya oleh Git selama file tersebut belum kita pindahkan ke staging area / index

Untuk memindahkan file dari working directory ke staging area / index, cukup gunakan perintah :

git add <nama-file>

Memindahkan file dari working directory ke staging area / index

Setelah berada di repository, untuk menyimpan file tersebut sebagai snapshot atau commit yang baru, cukup gunakan perintah

git commit -m “pesan commit”

Memindahkan file dari staging area / index ke repository

Mengubah File

Untuk melakukan perubahan file, Kita cukup melakukan perubahan file terhadap file yang sudah ada di repository, secara otomatis Git akan mendeteksi perubahan yang terjadi.

Ketika Kita melakukan perubahan pada file di repository, secara otomatis file tersebut akan berpindah posisi dari repository ke staging area / index, sama seperti dengan menambah file, jika Kita ingin menyimpan perubahan file sebagai snapshot yang baru, Kita bisa pindahkan dari staging area / index lalu commit ke repository

Mengubah isi file yang sudah ada di repository
Secara otomatis file tersebut akan berubah statusnya menjadi modified atau diubah
Ketika file ingin disimpan secara permanen ke repository, Kita bisa memindahkan file tersebut dari staging area / index ke repository, sama halnya dengan menambahkan file
Perubahan file sudah disimpan secara permanen di repository

Ketika Kita melakukan modifikasi, Git secara otomatis mendeteksi bahwa file tersebut sudah dimodifikasi, Jika Kita ingin melihat perubahan yang terjadi cukup gunakan perintah :

git diff

Memodifikasi file
File yang sudah dimodifikasi secara otomatis berada di staging area / index
Perintah git diff untuk melihat perubahan file yang terjadi

Perlu diingat perintah git diff hanya berlaku ketika ada file yang berada di staging area / index, jika semua file sudah di commit maka perintah git diff tidak akan menghasilkan apa-apa

Perintah git diff tidak menghasilkan apa-apa ketika semua file sudah di pindahkan ke repository

Menghapus File

Untuk menghapus file di repository, Kita cukup lakukan delete file nya di folder dan secara otomatis Git akan mendeteksi file yang terhapus

Jika Kita ingin menghapus secara permanen di repository, Kita harus menambahkan file tersebut ke staging area / index, lalu commit ke repository

Simulasi file salah Kita tambahkan ke repository, lalu akan Kita hapus nantinya
Ketika Kita hapus secara otomatis Git bisa mendeteksi file yang hilang
Walaupun file salah tersebut sudah Kita hapus di folder, tetapi Kita harus tetap menambahkan file tersebut ke staging area / index walaupun statusnya deleted
Setelah file salah tadi Kita pindahkan ke staging area / index, lalu Kita commit ke repository untuk menyimpan secara permanen bahwa status file tersebut dihapus

Membatalkan Penambahan File

Jika Kita melakukan penambahan file di working directory, dan kita ingin membatalkan perubahannya, caranya cukup sederhana, Kita hanya perlu menghapus file tersebut, atau cukup gunakan perintah :

git clean -f

File salah berada di working directory
Dengan perintah git clean -f , selama file tersebut masih d working directiory maka Git akan secara otomatis menghapusnya dari working directory

Membatalkan Perubahan File

Ketika Kita melakukan modifikasi pada file dan Kita ingin membatalkan modifkasi file yang Kita lakukan, Kita bisa menggunakan perintah :

git restore <nama-file>

Melakukan modifikasi file
Dengan perintah git restore <nama-file> secara otomatis modifikasi file akan berubah kembali semula

Membatalkan Penghapusan File

Penghapusan file sebenarnya sama dengan membatalkan perubahan pada file, jika Kita ingin membatalkan penghapusan file, cukup gunakan perintah :

git restore <nama-file>

Menghapus file langsung
Dengan perintah git restore <nama-file> secara otomatis file akan kembali seperti semula

Perlu Diingat!

Perintah git restore hanya bisa digunakan untuk membatalkan perubahan yang terjadi di working directory, Jika file terlanjur masuk ke staging area / index maka untuk membatalkannya tidak bisa dilakukan secara langsung

Kita perlu mengembalikan posisi dari staging area / index ke working directory terlebih dahulu, cukup gunakan perintah :

git restore — staged <nama-file>

Error ketika restore di staging area / index
File section berpindah dari staging area / index ke working directory
File yang terhapus kini bisa di restore kembali

Membatalkan File Yang Sudah Di Commit

Bagaimana jika ada file yang sudah terlanjur di commit dan ingin kita batalkan? tidak ada cara yang bisa Kita lakukan jika file sudah terlanjur Kita commit, yang bisa Kita lakukan hanya dengan dua cara yaitu : Rollback Commit atau Revert Commit yang akan Kita bahas nanti

Commit Log Git

Walaupun Git distributed version control, Git juga bisa digunakan secara local version control yang artinya semua riwayat perubahan yang terjadi disimpan di lokal komoputer Kita

Terkadang Kita ingin melihat semua riwayat commit, untuk melihat seluruh riwayat commit, cukup gunakan perintah :

git log

perintah git log untuk melihat semua riwayat commit yang dilakukan repository

Untuk melihat versi sederhana dari commit log, cukup gunakan perintah :

git log — oneline

Perintah git log — oneline untuk melihat semua riwayat commit versi sederhana

Git Graph

Ketika Kita menggunakan Git branch (akan kita bahas nanti), kadang Kita ingin melihat commit log dengan commit log lainnya, untuk melihat Git graph, cukup gunakan perintah :

git log — oneline — graph

Graph nya tidak kelihatan karena Kita belum membahas Git branch
Contoh git graph yang kompeks

Melihat Detail Commit

Kadang Kita ingin melihat-lihat perubahan yang terjadi pada satu spesifik commit, cukup gunakan petintah :

git show <hash>

Melihat perubahan yang terjadi pada suatu commit

Melihat Compare Antar Commit

Git memiliki fitur untuk membandingkan snapshot hasil antar commit satu dengan commit lainnya, untuk membandingkan commit, cukup gunakan perintah :

git diff <hash1> <hash2>

Rename File

Secara otomatis Git bisa mendeteksi operasi rename file, operasi rename file sebenarnya merupakan operasi gabungan antara hapus file, lalu menambahkan file baru dengan isi yang sama

Walaupun terjadi operasi penghapusan file pada rename file, Namun Git masih bisa mendeteksi perubahan nama file dikarenakan isi file tersebut masih sama

Ketika rename file, file lama akan dihapus, kemudian dibuat ulang
Ketika sudah berada di staging area / index, maka status nya berubah menjadi renamed

Reset Commit Git

Kita sudah tahu bagaimana melakukan pembatalan perubahan di working directory dan staging area / index, namun bagaimana jika ternyata perubahan tersebut secara tidak sengaja Kita commit ke repository?

Untuk Hal seperti ini, Kita bisa melakukan yang namanya reset commit

Reset commit merrupakan salah satu operasi dimana Kita menggeser HEAD pointer ke posisi commit yang Kita inginkan. Untuk melakukan reset commit cukup gunakan perintah :

git reset <mode> hash

Untuk melakukan reset commit ada tiga mode : — soft, — mixed(default), dan — hard

Mode Git Reset

soft

Mode ini melakukan reset dengan cara memindahkan HEAD pointer, namun tidak melakukan perubahan apapun di staging area / index

git reset soft

— mixed (default)

Mode ini melakukan reset dengan cara memindahkan HEAD pointer, mengubah staging area / index menjadi sama dengan repository, namun tidak mengubah apapun di working directory

git reset mixed

— hard

Mode ini melakukan reset dengan cara memindahkan HEAD pointer, namun mengubah staging area / index dan working directory menjadi sama dengan repository

git reset hard

Walaupun Kita memindahkan snapshot commitnya, tetap bisa kembali ke semula, selama belum ditimpa commit yang baru

Amend Commit

Terkadang waktu Kita melakukan commit, mungkin saja ada beberapa file yang belum diikutsertakan, hal seperti ini biasanya Kita akan melakukan reset soft ke commit sebelumnya lalu menambahkan file yang terlupakan tadi lalu Kita commit ulang

Hal seperti ini bisa Kita lakukan tanpa melakukan reset manual, cukup gunakan perintah :

git commit — amend

Perlu diingat, command Git ini akan mengubah hash commit dikarenakan data juga bertambah

Menambahkan file ketiga dan commit ke repository
Mengubah isi file ketiga yang sudah di commit ke repository
Status nya berubah, lalu Kita tambahkan ke staging area / index
Dengan perintah git commit amend, commit hanya akan dilakukan sekali atau commit lama akan ditimpa

Melihat Versi File Pada Commit Sebelumnya

Terkadang Kita ingin melihat versi file pada commit sebelumnya, Git memiliki fitur untuk siatuasi ini, saat Kita ambil versi file pada commit sebelumnya, file pada commit tersebut akan berada di staging area / index

Untuk melihat versi file pada commit sebelumya, cukup gunakan perintah :

git checkout <hash> — <namafile>

Isi file di commit terakhir
Melihat isi dari versi commit sebelumnya
Isi file dari versi commit sebelumnya

Melihat Hasil Snapshot Sebelumnya

Git juga memiliki fitur seperti mesin waktu, yang mana Kita bisa berpindah ke snapshot atau commit sebelumnya. Untuk berpindah ke tujuan snapshot tertentu Kita hanya perlu menggunakan hash commit pada snapshot tersebut

Untuk melakukan hal ini, cukup gunakan perintah :

git checkout <hash>

Jika ingin kembali commit paling akhir, cukup gunakan perintah :

git checkout <nama-branch>

Tentang Git Branch

Git branch secara default saat kita menginisialisasi Git repository secara otomatis Git akan membuat branch default : master, main, develop, dan sebagainya

Apa sih Branching itu? branching adalah cabang dari timeline utama, biasanya timeline utama diberi nama dengan master, main

Saat Kita membuat timeline branch baru, semua perubahan yang terjadi di branch tersebut tidak akan merusak branch utama, oleh karena itu fitur branch sangat penting untuk digunakan ketika Kita ingin bereksperimen, seperti menambah fitur, ketika fitur tersebut sudah siap, Kita bisa melakukan merge atau menggabungkan branch baru ke branch utama tetapi jika fitur tersebut bermasalah Kita cukup menghapus branch atau timeline tersebut tidak dengan repository nya

Tidak ada batasan berapa banyak branch yang bisa dibuat, Kita bebas untuk membuat lebih dari branch, tapi perlu diingat menambah branch akan menambah ukuran dari repository karena Git akan meng-clone seluruh file di branch utama ke branch yang baru, jadi harap bijaksan ketika menggunakan Branch

Di blog kali ini, Saya hanya menjelaskan lebih lengkap nanti tentang git branch di blog lainnya untuk sekarang hanya pengenalan dari git branch, jadi jangan lupa untuk follow akun medium Kami yah agar tidak ketinggalan update nya hehehe….

Untuk melihat branch yang sekarang Kita gunakan, cukup gunakan perintah :

git branch — show-current

Hanya muncul satu branch default, karena Kita belum membuat branch lain

Untuk melihat branch yang berada di local komputer yang sekarang Kita gunakan, cukup gunakan perintah :

git branch| git branch — list

Hanya muncul satu branch default, karena Kita belum membuat branch lain

Untuk melihat branch yang berada di remote repository yang Kita gunakan, cukup gunakan perintah :

git branch -r

Tidak menampilkan apa-apa, karena Kita belum membahas tentang Remote Repository

Untuk melihat semua branch yang berada di local komputer dan remote repository yang Kita gunakan, cukup gunakan perintah :

git branch -a

Hanya menampilkan satu branch simpel
Contoh branch yang cukup kompleks

Untuk Membuat branch, cukup gunakan perintah :

git branch <nama-branch-yang-baru>

Menambahkan branch baru

Saat Kita membuat branch baru, kita tidak bisa otomatis pindah ke branch baru tersebut, untuk pindah ke branch lain, Kita perlu lakukan secara manual, cukup gunakan perintah :

git switch <nama-branch> | git checkout <nama-branch>

Berpindah branch 1
Berpindah branch 2

Terkadang Kita salah melakukan pembuatan nama branch, Kita juga bisa melakukan perubahan nama branch, namun untuk melakukannya, Kita pindah terlebih dahulu ke branch yang ingin Kita ubah namanya, setelah itu cukup gunakan perintah :

git branch -m <nama-branch-baru>

Melakukan perubahan nama branch

Jika branch tidak digunakan lagi, best practice nya Kit perlu menghapus branch tersebut sehingga tidak mengakibatkan ukuran repository yang Kita punya membengkak

Untuk menghapus branch, Kita perlu berpindah ke branch lainnya terlebih dahulu, kemudian cukup gunakan perintah :

git branch -d <nama-branch> | git branch — delete <nama-branch>

Menghapus branch yang sudah tidak diperlukan

Revert Commit Git

Kita sudah tahu cara membatalkan perubahan di Git ada dua cara, yaitu dengan melakukan git reset dan revert commit. Kali ini Kita akan membahas apa itu revert commit

Singkatnya revert commit adalah fitur untuk membatalkan commit yang sudah Kita lakukan dengan cara membuat commit baru yang membatalkan commit sebelumnya

Untuk melakukan revert commit, cukup gunakan perintah :

git revert <hash>

Untuk Penjelasan revert commit terlihat membingungkan, tapi sebenarnya sangat simpel, untuk contoh dari operasi ini Kita buat repository baru

Inisialisasi repository
Commit pertama dengan isi file : one, two, three, four
Commit kedua dengan isi file : one, 2, three, four
Commit ketiga dengan isi file : one, 2, three, 4

Sekarang posisi snapshot Kita ada di commit ketiga, Jika kita ingin pindah ke commit kedua hal yang terjadi adalah :

isi dari file commit kedua akan kembali ke awal sebelum Kita melakukan commit / kembali ke commit pertama, dan isi dari commit yang ketiga akan tetap atau tidak dihapus

Posisi snapshot saat ini

Sedikit membingungkan mungkin, oke mari Kita coba praktekkan langsung

Berpindah posisi dari snapshot ketiga ke snapshot kedua

Setelah Kita berhasil melakukan revert commit, isi dari file tersebut berubah menjadi seperti berikut :

Isi dari file berubah menjadi : one, two, three, 4

Q : Mengapa hanya ada angka 4 disitu? angka 2 nya kemana?

A: Dikarenakan angka 2 merupakan perubahan dari commit kedua, yang mana commit sebelumnya atau commit yang pertama angka 2 sebelumnya adalah “two”, jika Kita melakukan revert, isi dari file commit tersebut akan berubah menjadi isi file commit yang sebelumnya

Untuk angka 4, karena angka 4 merupakan isi dari perubahan commit yang ketiga, atau commit yang terkini sehingga perubahannya tidak terkena efek apa-apa, dibiarkan Saja oleh Git

Commit bertambah karena membuat commit baru yang membatalkan commit sebelumnya

Q : Kapan sebaiknya Git reset atau revert commit digunakan?

A : Gunakan revert commit jika Kita ingin mengembalikan seluruh isi file yang ada, tetapi Jika Kita tidak peduli dengan isi file tersebut maka Kita bisa gunakan reset commit

File Ignore

Ketika Kita membuat aplikasi, ada beberapa file yang Kita tidak inginkan di track oleh Git, seperti file yang berisikan kredensial (file .env), file log, dan lainnya, file tersebut tidak kita butuhkan untuk di track oleh Git

Git sendiri memiliki fitur ignore, dimana Kita bisa meminta agar Git tidak men-track file tersebut, Caranya cukup mudah Kita cukup tambahkan file .gitignore di repository, kemudian Kita tambahkan di tiap baris file atau folder mana yang tidak ingin di track

Cara penulisan gile di .gitignore
Secara otomatis file, folder, dan extension yang Kita tulis di file .gitignore tidak akan terdeteksi oleh GIt

Blame

Saat berkolaborasi dengan orang di repository Git, terkadang Kita ingin tahu siapa yang menambahkan baris kode program tersebut, dan apa Saja yang ditambahkan

Git memiliki fitur untuk menyelesaikan permasalahan tersebut, cukup gunakan perintah :

git blame <nama-file>

Git blame simpel
Git blame kompleks

PENUTUP

Pada artikel ini Saya rasa cukup sampai disini saja dulu, mungkin kedepannya akan Saya tambahkan apa yang kurang dari artikel ini.

Kurang lebihnya mohon dimaafkan, bila ada saran dan kritik sangat dipersilahkan sekali demi menambah wawasan setiap orang yang membaca artikel ini.

Jangan lupa follow akun medium Saya Farhan Rivaldy dan DSC Mulia University agar bisa mendapatkan pengetahuan lainnya.

Sekian dan terima kasih

じゃあね ー See you

“Once you stop learning, you start dying.” — Albert Einstein

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response