GIT &
GITHUB
Github
GitHub adalah platform khusus developer yang dibuat
karena terinspirasi dari cara bekerja para programmer.
Gampangnya, GitHub merupakan manajemen project,
sistem versioning code, sekaligus platform jaringan
sosial bagi para developer seluruh dunia.
Version Control System
Version Control adalah sebuah system yang merekam
perubahan pada file dari waktu ke waktu, sehingga
kita bisa melihat versi sebelumnya jika diinginkan
Secara garis besar, version control dibagi menjadi 3 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
Centralized Version Control
Local version control merupakan version
control yang berjalan pada sebuah server
sehingga bisa diakses lebih dari satu
komputer
Distributed Version Control
Distributed Version Control adalah
alternatif lain dari Centralized Version
Control yang sangat mudah di akses secara
online
GIT
Git adalah salah satu sistem pengontrol versi
(Version Control System) pada proyek perangkat
lunak yang diciptakan oleh Linus Torvalds.
Git pertama kali dikenalkan tahun 2005, semakin
kesini Git semakin populer dan sekarang menjadi
DVCs yang paling populer di dunia
GIT
Konfigurasi GIT
Yang perlu kita konfigurasi diawal adalah user name dan user email
GIT
Membuat Repository
Untuk membuat repository, kita hanya perlu
menggunakan perintah :
git init
GIT
Workflow
Git memiliki tiga bagian terhadap file: modified, staged dan
committed
Modified artinya kita mengubah (menambah, mengedit,
menghapus) file, namun belum disimpan secara permanen ke
repository
Staged artinya kita menandai modifikasi yang kita lakukan
terhadap file akan disimpan secara permanen ke repository
Committed artinya data sudah aman disimpan di repository
GIT
Workflow
Tiga state sebelumnya di dalam Git dilakukan di section
yang berbeda-beda, yaitu
Working Directory
Staging Area
Repository
GIT
Menambahkan File
Untuk menambah file baru ke Repository, kita cukup
tambahkan file nya saja
Setelah ditambahkan, untuk memasukkan file tersebut ke
staging index kita harus menggunakan perintah git add
Lalu untuk memasukkannya ke repository kita
menggunakan perintah git commit -m “komentar”
GIT
Mengubah File
Untuk melakukan perubahan file, kita cukup lakukan
perubahan file terhadap file yang sudah ada di Repository,
secara otomatis git bisa mendeteksi perubahan
GIT
Menghapus File
Untuk menghapus file di Repository, kita cukup lakukan delete
file nya di folder nya, secara otomatis Git akan mendeteksi file
yang hilang
GIT
Membatalkan Penambahan File
Jika kita menambah file di Working Directory, lalu misal kita
ingin membatalkan perubahannya
Caranya cukup sederhana, kita hanya perlu menghapus file
tersebut, atau bisa menggunakan perintah :
git clean -f
GIT
Membatalkan Perubahan File
Jika kita ingin membatalkan perubahan file yang telah kita
lakukan, kita bisa menggunakan perintah :
git restore namafile
GIT
Membatalkan dari Staging Index
Kita perlu mengembalikan posisi dari Staging Index ke
Working Directory terlebih dahulu, caranya kita bisa gunakan
perintah :
git restore --staged namafile
GIT
Reset Commit
Reset commit merupakan mekanisme dimana kita menggeser
HEAD pointer ke posisi commit yang kita mau, artinya commit
selanjutnya akan dilakukan pada posisi HEAD baru
Untuk melakukan reset commit, kita bisa gunakan perintah :
git reset <mode> hash
GIT
Reset Commit
--soft, memindahkan HEAD pointer, namun tidak melakukan
perubahan apapun di Staging Index dan Working Directory
--mixed (default), memindahkan HEAD pointer, mengubah
Staging Index menjadi sama seperti dengan Repository,
namun tidak mengubah apapun di Working Directory
--hard, memindahkan HEAD pointer, dan mengubah Staging
Index dan Working Directory sehingga sama dengan
Repository
GIT
Reset Commit
--soft, memindahkan HEAD pointer, namun tidak melakukan
perubahan apapun di Staging Index dan Working Directory
--mixed (default), memindahkan HEAD pointer, mengubah
Staging Index menjadi sama seperti dengan Repository,
namun tidak mengubah apapun di Working Directory
--hard, memindahkan HEAD pointer, dan mengubah Staging
Index dan Working Directory sehingga sama dengan
Repository
GIT
Branch
Branching artinya kita membuat timeline baru yang berbeda
dari timeline utama
Untuk melihat nama branch saat ini, kita bisa gunakan
perintah : git branch --show-current
Untuk membuat branch baru, caranya sangat mudah, kita bisa
gunakan perintah : git branch namabranchbaru
GIT
Pindah Branch
Untuk pindah ke branch lain, kita perlu lakukan secara manual
Caranya kita bisa gunakan perintah :
git switch namabranch
git checkout namabranch
GIT
Branch
Untuk pindah ke branch lain, kita perlu lakukan secara manual
Caranya kita bisa gunakan perintah :
git switch namabranch
git checkout namabranch
kita juga bisa lakukan perubahan nama branch
git branch -m namabranchbaru
Untuk menghapus branch
git branch -d namabranch
git branch --delete namabranch
GIT
Merge
Merge adalah proses dimana kita melakukan penggabungan dua buah
branch
Untuk melakukan merge, pertama kita perlu pindah ke branch dimana
kita lokasi merge akan dilakukan
Selanjutnya gunakan perintah :
git merge namabranch
GIT
Merge Conflict
Biasanya ketika melakukan merge, akan terjadi yang namanya conflict
Hal ini disebabkan, satu file diubah di branch yang berbeda, sehingga
ketika di merge, kita perlu melakukan yang namanya Merge Conflict
Jika kita ingin membatalkan merge, kita bisa gunakan perintah :
git merge --abort
GIT
Log
Untuk melakukan itu, kita bisa gunakan perintah :
git log --oneline
Lihat log git dalam bentuk graph menggunakan perintah :
git log --oneline --graph