0% menganggap dokumen ini bermanfaat (0 suara)
62 tayangan47 halaman

The Power of Git

Dokumen tersebut memberikan panduan singkat tentang sistem kontrol versi distribusi (DVCS) Git. Secara garis besar dibahas tentang penginstalan dan konfigurasi Git, penggunaan perintah dasar Git seperti add, commit, push, pull, serta kolaborasi menggunakan fitur seperti branch, merge, pull request. Dokumen tersebut juga menjelaskan cara mengembalikan perubahan menggunakan perintah seperti reset, checkout, revert, serta alur kerja Git secara um

Diunggah oleh

Rahmat Hidayat
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
62 tayangan47 halaman

The Power of Git

Dokumen tersebut memberikan panduan singkat tentang sistem kontrol versi distribusi (DVCS) Git. Secara garis besar dibahas tentang penginstalan dan konfigurasi Git, penggunaan perintah dasar Git seperti add, commit, push, pull, serta kolaborasi menggunakan fitur seperti branch, merge, pull request. Dokumen tersebut juga menjelaskan cara mengembalikan perubahan menggunakan perintah seperti reset, checkout, revert, serta alur kerja Git secara um

Diunggah oleh

Rahmat Hidayat
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 47

THE POWER

of
Persiapan
Install Git
Unduh dan install git sesuai sistem operasi di

https://git-scm.com/downloads

Set global email dan username (via terminal atau Git Bash)

git config --global user.name "Nama Kamu” .

git config --global user.email "[email protected]” .


Akun GitHub
Bagi yang belum punya akun Github, dapat mendaftar di

https://github.com/join?

Buat dan daftarkan SSH Key

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
Sistem Kontrol Versi
Terdistribusi (DVCS)
Apa itu Git ?
Version Control System
Sistem yang mencatat segala perubahan

Memungkinkan kolaborasi

Bisa mengetahui siapa dan kapan

Memungkinkan revert ke kondisi sebelumnya


Distributed VCS
Perubahan disimpan di masing-masing komputer

Data perubahan tidak harus sama/sinkron setiap saat

Tidak memerlukan akses internet, kecuali untuk sinkronisasi


Sejarah Git
April 2005

Untuk pengembangan Linux kernel

Dibuat oleh Linus Torvalds

Menggantikan BitKeeper

Dideskripsikan sebagai "the stupid


content tracker"
Mengapa Git ?
Mengapa Git ?
● Digunakan secara luas di industri software
● Cepat dan efisien
● Mudah dipelajari
● Dukungan OS, software, dan IDE
Git Command
git init
Melakukan inisialisasi repository git

Akan terbuat folder .git di repository

Membuat branch master


git add .
git add -A
git add <nama_file>

Menambahkan (semua/satu) file ke index (staging)


git commit -m “pesan_commit”

Membuat snapshot yang memuat informasi

- Perubahan terhadap file(s)

- Referensi kepada commit sebelumnya

- Hash code name


(contoh:fb2d2ec5069fc6776c80b3ad6b7cbde3cade4e)

- Timestamp dan user yang melakukan commit


git status
Menampilkan status file dalam repository
git log
Menampilkan log dari semua commit urut berdasarkan
yang terbaru
git diff
Menampilkan perbedaan antara working directory dengan
commit atau antara 2 commit
Branching
git branch : menampilkan semua branch

git checkout <nama_branch> : berpindah ke branch tersebut

git branch <nama_branch> : membuat branch baru dengan nama tersebut

git branch -d <nama_branch> : menghapus branch tersebut

git checkout -b <nama_branch> == git branch <nama_branch> && git checkout


<nama_branch>
Merging
git merge <nama_branch>

Menggabungkan branch tersebut ke branch yang sedang aktif

*dengan syarat tidak ada conflict


.gitignore
File .gitignore digunakan untuk mendaftar file atau directory yang dikecualikan
dalam git

Biasanya digunakan untuk mencegah file-file konfidensial, dan file-file yang


bersifat sementara atau auto-generated masuk dalam git repository.
Git Command (Remote Repository)
Create new GitHub Repository
Sebelum melakukan praktek untuk perintah git berikutnya kita harus membuat
repository baru di Github terlebih dahulu

https://help.github.com/articles/creating-a-new-repository/
git remote add <nama_upstream> <alamat_repo>
Sebagai contoh :

git remote add origin [email protected]:user/nama_repo.git .

Menambahkan remote repository


git push <nama_upstream> <nama_branch>
Sebagai contoh :

git push origin master .

Untuk melakukan push/upload data repository local ke remote repository.


git fetch <nama_upstream> <nama_branch>
Sebagai contoh :

git fetch origin master .

Untuk mengunduh perubahan di remote repository tanpa merge(menggabungkan


perubahannya) ke repository lokal.
git pull <nama_upstream> <nama_branch>
Sebagai contoh :

git pull origin master .

Untuk melakukan sinkronisasi data remote repository ke repository lokal.


Git Command (Undoing Changes)
git reset HEAD
git reset HEAD~n
git reset HEAD~n <nama_file>
Git reset digunakan untuk mengembalikan kondisi working directory pada salah
satu snapshot/commit dalam branch yang sama.

Jika menyertakan nama file maka yang dikembalikan keadaannya hanya file
tersebut.

Dilakukan di branch yang dipakai sendiri (mencegah inkonsistensi)


git reset HEAD~2
git checkout HEAD
git checkout HEAD~n
git checkout HEAD~n <nama_file>
Selain untuk berpindah branch, git checkout juga bisa digunakan untuk berpindah
ke commit tertentu.

Jika menyertakan nama file, maka hanya file yang bersangkutan yang
dimundurkan versinya

checkout(commit/file) seringkali digunakan sebelum melakukan


reset.
git revert HEAD~n
Git revert digunakan untuk meng-undo perubahan yang dilakukan pada suatu
commit. Git revert akan membuat suatu commit baru yang membalikkan
perubahan dari commit yang bersangkutan.
git revert HEAD~2
git stash
Digunakan untuk mengarsip perubahan yang dilakukan di working directory
(belum di-commit) untuk disimpan sementara.

Dilakukan jika harus mengerjakan hal lain di working directory yang berdampak
pada perubahan yang sedang dikerjakan.

Bisa dikembalikan dengan command git stash apply atau git stash pop
git rebase
Git rebase berfungsi untuk menata ulang commit, bisa digunakan untuk merging
(tanpa harus merge), resetting, squashing, cherry-pick, maupun reordering commit.
Kolaborasi dalam Git
Fork Repository
Forking adalah aktivitas untuk membuat salinan repository ke akun kita.

Repository hasil fork akan selalu terhubung dengan repository awalnya.

Dalam repository salinan tersebut, kita dapat melakukan perubahan yang kita
inginkan, misal mengembangkan fitur baru atau melakukan bugfix.
Creating Pull Request
Pull Request adalah istilah untuk meminta pemilik atau admin repository
melakukan merging branch kita ke branch/repository tertentu.

Sebelum membuat pull request, pastikan Anda di branch milik Anda sendiri dan
sudah push tersebut ke Github.

Usahakan tidak ada konflik, agar memudahkan admin melakukan Merge.


Code Review
Code Review dilakukan untuk menindaklanjuti Pull Request

Dilakukan Admin repository untuk memastikan kode yang akan di merge aman
dan memenuhi standar yang sudah ditetapkan

Admin bisa memberikan komentar pada kode yang salah atau tidak memenuhi
standar

Pembuat Pull Request harus membalas komentar dan melakukan revisi jika
diperlukan

Code Review bisa saja dilewati/tidak dilakukan


Approve/Reject Pull Request + Merge
Setelah memastikan Pull Request aman untuk di-merge, Admin dapat meng-
approve Pull Request dan kemudian melakukan Merge

Admin dapat pula menolak Pull Request.

Selengkapnya https://guides.github.com/activities/contributing-to-open-source/
Tambahan dan Lain-lain
Alternatif selain GitHub
Selain GitHub ada beberapa penyedia jasa hosting Git di antaranya :

Bitbucket

GitLab

Microsoft Team Foundation

Deveo

CodebaseHQ

Amazon Codecommit
GUI Tool
Ada banyak Tool GUI untuk git, beberapa yang populer diantaranya :

GitHub Desktop

Source Tree

SmartGit

Tower

Git-cola

GitKraken
Git-Flow
Seorang software developer bernama Vincent Driessen, mempresentasikan alur
kerja yang ia gunakan dalam project-project perangkat-lunaknya di sebuah
blog post yang dinamai git-flow.

Git flow ini mendefinisikan branch naming convention dan alur kerjanya untuk
memudahkan perilisan versi software dan tracking kode.

Gambaran umumnya dapat dilihat di cheatsheet ini.


E-book dan Docs
Beberapa resource di internet tentang git :

Git CheatSheet ebook

Pro Git (Bahasa Indonesia)

Atlassian Git Tutorial


Terima Kasih

Anda mungkin juga menyukai