Modul 3 ini berisi beberapa bahasan sebagai berikut.
Forking adalah membuat salinan repository dari repository utama ke repository pribadi di akun kalian sendiri. Forking umumnya digunakan untuk berkontribusi pada repository open-source yang dikelola oleh orang lain. Dengan melakukan fork, kalian dapat bekerja pada salinan repository tersebut tanpa mengubah repository utama.
Setelah melakukan fork, kalian dapat melakukan perubahan pada local repository kalian, seperti membuat branch baru, melakukan perubahan, dan melakukan commit. Setelah itu, kalian dapat mengajukan pull request kepada pemilik repository utama untuk memasukkan perubahan kalian ke repository utama.
Berikut adalah cara forking:
- Kalian dapat melakukan forking dengan membuka repository utama dari browser kalian, lalu membuka dropdown fork dan memilih create a new fork.
- Kalian bisa mengatur nama dan deskripsi repository serta branch yang akan kalian fork sesuai kebutuhan.
- Kemudian, kalian clone repository hasil fork dengan cara yang dijelaskan di bab sebelumnya.
Git Sync adalah memperbarui fork kalian dengan perubahan terbaru yang telah terjadi di repository utama. Ini memungkinkan fork kalian untuk tetap sinkron dengan perubahan terbaru yang telah terjadi di repository utama. Berikut adalah langkah-langkah untuk melakukan syncing:
- Kalian perlu menambahkan repository utama sebagai remote repository kedua (atau disebut sebagai upstream) di repository fork kalian, dengan perintah sebagai berikut.
git remote add upstream <repository_name>
- Kalian bisa memastikan syncing berhasil dengan perintah
git remote -v
.
- Ambil perubahan dari upstream dengan perintah berikut.
git fetch upstream
git pull upstream <nama_branch>
- Kemudian, kalian bisa melakukan pull perubahan dari repository utama ke fork kalian, dan menerapkan perubahan tersebut di local repository kalian.
Github Project adalah salah satu alat manajemen proyek, serupa dengan Trello dan Jira. Namun, Github Project dapat langsung dihubungkan dengan pengerjaan sebuah repository di Github. Berikut adalah contoh tampilan Github Project, yaitu berupa kartu-kartu yang merepresentasikan tugas, serta terhubung dengan issues dan pull request.
Backlog adalah tempat di mana semua ide, permintaan fitur, atau kebutuhan perbaikan dikumpulkan sebelum ditindaklanjuti atau dijadwalkan untuk implementasi. Dalam konteks GitHub, Backlog dapat direpresentasikan dengan menggunakan fitur Issue.
Issue adalah alat yang digunakan untuk melacak tugas, bug, atau permintaan fitur dalam proyek. Setiap Issue memiliki judul, deskripsi, label, dan dapat ditetapkan kepada orang tertentu dalam tim. Melalui Github Project, Issue dapat ditugaskan kepada anggota tim tertentu untuk ditindaklanjuti, dan kemudian dapat dipindahkan melalui berbagai tahapan alur kerja, seperti Ready, In Progress, In Review, dan Done.
Pull request adalah permintaan yang kita ajukan kepada pemilik repository untuk menggabungkan (merge) perubahan yang telah dilakukan di branch kita ke dalam branch utama (biasanya master atau development). Di GitHub, pull request memungkinkan kita untuk membahas dan meninjau perubahan sebelum digabungkan ke dalam repository utama. Untuk melakukan pull request, biasanya pilihan untuk melakukan pull request akan muncul di halaman remote repository begitu kalian melakukan push ke branch kalian.
Jika tidak ada, kalian juga bisa membuat pull request secara manual.
Deskripsi dari pull request yaitu daftar perubahan yang kalian kerjakan di branch kalian serta dokumentasinya, bisa berupa screenshot yang memperlihatkan bahwa pekerjaan kalian telah sesuai.
Merge adalah proses menggabungkan perubahan dari satu branch ke branch lainnya di dalam repository Git. Ini biasanya dilakukan setelah pull request telah di-review dan disetujui. Ketika pull request yang kita ajukan di-merge, perubahan yang ada di branch kita akan digabungkan ke dalam branch target.
Rebase adalah proses mengubah sejarah commit di branch kita dengan menerapkan perubahan yang telah terjadi di branch target. Ini biasanya digunakan untuk menjaga sejarah commit tetap bersih dan rapi dengan memperbarui branch development dengan perubahan terbaru di repository utama. Kita dapat melakukan rebase dari branch target ke branch development mereka sebelum pull request di-merge untuk memastikan bahwa perubahan terbaru di repository utama telah disertakan.
Sebagai reviewer, tugas kita adalah mengecek apakah perubahan yang dibuat dalam sebuah pull request sudah benar atau belum. Pertama, kalian bisa mengecek perubahan yang dibuat dalam pull request tersebut.
Bila dirasa masih kurang sesuai, kalian bisa meninggalkan komentar.
Sudah sesuai? Langsung merge saja!
Nah, salah satu keunggulan dari git adalah adanya Git Log. Git akan mencatat dan membuat alur history dari seluruh commit yang telah dibuat sebelumnya yang umum kita kenal dengan istilah logging.