Rangkuman Kelas
Berikut adalah rangkuman yang bisa Anda gunakan untuk mengingat kembali apa yang telah dipelajari dalam kelas Belajar Git dengan
GitHub:
Git dan Github
Pada materi Git dan GitHub Anda telah mempelajari bagaimana sejarah serta penggunaan Git dan GitHub. Berikut rangkuman dalam
materi tersebut:
• Pada materi Git kita mempelajari sejarah berdirinya platform Git, bagaimana Linus Torvalds bersama tim membangun
platform tersebut pada tahun 2005. Git dibangun dengan tujuan agar dapat melakukan kolaborasi antar tim serta bagaimana
proyek dapat dikontrol dengan baik. Untuk bisa berkolaborasi, bisa dengan membangun proyek menjadi open source atau
pilihan lainnya menyetel kolaborasi dengan orang lain.
• Kemudian, kita juga telah belajar bagaimana dapat memahami perintah dan istilah yang ada pada Git, seperti Git
Repository, Git Branch, Git Fork, Git Clone, Git Commit, dan Git Push.
Fungsi
Perintah
Git Repository Media penyimpanan file proyek di dalam Git server.
Git Branch Percabangan untuk versi baru dari proyek repository.
Git Fork Penyalinan dari repository orang/organisasi lain, lalu menyimpannya di dalam repository Git sendiri.
Git Clone Mengambil sebuah repository dan menyimpannya pada direktori lokal.
Git Commit Cuplikan perubahan (snapshot) dari repository Anda pada waktu tertentu.
Git Push Mengirim hasil dari perubahan file yang dilakukan ke dalam repository server.
Git Pull Menarik atau mengambil source code dari repository.
• Selanjutnya, pada materi GitHub kita telah mempelajari bagaimana menggunakan Platform Website GitHub. GitHub
merupakan sebuah perusahaan layanan hosting repository Git berbasis Cloud. Dengan menggunakan GitHub, berkolaborasi
antar anggota tim menjadi lebih mudah. GitHub adalah tools yang sangat populer karena mudah digunakan.
• Terdapat menu utama pada saat mengakses halaman GitHub yaitu, Explore Repository, Sign up, dan Sign in. Selain itu, ada
juga fitur-fitur pendukung pada GitHub seperti:
o New Repository, digunakan membuat repository baru dengan jenis public & private.
o Import Repository, digunakan untuk mengambil/menyalin file proyek dari vendor lain seperti Subversion atau
Mercurial ke dalam repository baru pada GitHub. Proses impor dilakukan dengan menggunakan link URL.
o Gist, digunakan untuk berbagi potongan kode, catatan, melakukan daftar, dan lainnya. Seperti halnya repositori,
Anda dapat menyetel dan menyimpan Intisari Anda sebagai rahasia atau publik.
o GitHub Organization, digunakan untuk berkolaborasi bersama pada suatu organisasi misalnya untuk bisnis dengan
sejumlah kelebihan misalnya banyak proyek sekaligus. Pemilik dan administrator dapat mengelola hak akses
anggota ke suatu data atau proyek dengan fitur keamanan dan administratif yang canggih.
o GitHub Project, digunakan untuk mengatur dan memprioritaskan pekerjaan. Anda dapat membuat papan proyek
(project board) untuk mengerjakan fitur tertentu, peta alur yang komprehensif (comprehensive roadmaps), atau
bahkan merilis daftar periksa (release checklists). Dengan papan proyek, Anda memiliki fleksibilitas untuk membuat
alur kerja khusus yang sesuai dengan kebutuhan Anda.
• Selain itu, terdapat beberapa latihan yang telah kita lakukan dalam materi Git dan GitHub. Berikut di antaranya:
o Latihan Membuat Akun GitHub
Berikut beberapa tahapan yang bisa Anda lakukan untuk membuat akun GitHub:
▪ Mengakses alamat [Link]
▪ Melengkapi data-data yang diperlukan.
▪ Melakukan verifikasi pendaftaran menggunakan kode unik yang dikirimkan GitHub melalui email.
▪ Menambahkan dan memverifikasi email cadangan untuk mengelola akun GitHub (opsional).
o Latihan Mengeksplorasi Proyek GitHub
Berikut beberapa tahapan yang bisa Anda lakukan untuk mengeksplorasi proyek GitHub:
▪ Melakukan pencarian proyek GitHub dengan menggunakan fitur Search. Pencarian proyek GitHub
bertujuan untuk mendapatkan referensi repository saat mengerjakan proyek sendiri.
▪ Menganalisis hasil pencarian tersebut seperti, jumlah pengunjung yang memonitor (watch), memberikan
bintang (star), dan menyalin proyek repository ke repository pribadi (fork).
▪ Memberikan bintang hasil pencarian proyek repository agar dapat mengikuti perkembangannya. GitHub
memiliki fitur stars (bintang) yang memudahkan Anda untuk menemukan repository atau topik yang
Anda cari sebelumnya.
▪ Melihat kontributor dan kolaborator dari sebuah proyek repository. Setiap proyek repository memiliki
kolaborator dan kontributor.
o Latihan Mengenal GitHub Dashboard
Berikut beberapa tahapan yang bisa Anda lakukan untuk mengenal GitHub Dashboard:
▪ Melihat semua aktifitas yang dilakukan pada halaman GitHub dashboard, seperti mengikuti proyek
repository, melakukan perubahan pada proyek GitHub, atau memberikan komentar/tanggapan di dalam
repository.
▪ Melihat bagian toolbar pada halaman GitHub dashboard. Dalam toolbar terdapat beberapa menu seperti:
▪ Pull request untuk melihat semua aktivitas mengenai pekerjaan yang telah selesai dan
tersimpan di dalam GitHub.
▪ Issues untuk melihat semua tanggapan atau komentar mengenai permasalahan yang kita dapat
saat menggunakan repository milik orang lain.
▪ Marketplace untuk mencari dan memasang fitur tools pendukung yang disediakan oleh
GitHub. Tools dalam marketplace akan membantu Anda dalam mengoptimalkan penggunaan
GitHub di dalam proyek.
▪ Explore untuk melihat berbagai informasi atau berita terkini mengenai repository, topik,
dan trending di GitHub.
▪ Settings untuk melakukan perubahan profil seperti username, foto, serta informasi lainnya.
• Setiap proyek repository memiliki kolaborator dan kontributor. Seorang kolaborator merupakan anggota tim yang memiliki
akses dalam sebuah repositori proyek (project repository). Akses ini tentunya bermacam-macam ya, ada yang dibatasi pada
pekerjaan-pekerjaan tertentu, ada pula yang dapat melakukan semua pekerjaan dalam sebuah repository.
• Ketika Anda membuat sebuah repository menggunakan akun personal, maka secara otomatis akan menjadi seseorang owner
repository dan memiliki akses penuh terhadap repository tersebut. Di sisi lain, ketika Anda mengundang orang lain menjadi
kolaborator dalam repository tersebut, maka mereka akan dapat melakukan pull (read) dan push (write) pada repository
tersebut.
• Namun, jika Anda menggunakan akun organisasi, GitHub menyediakan 5 tingkatan level (role) yang berbeda untuk seorang
kolaborator, yakni read, triage, write, maintain, dan admin.
o Seorang kolaborator dengan tingkatan read, biasanya hanya memiliki akses untuk membuka repository. Level ini
direkomendasikan untuk orang non-coding (tim lain) yang ingin melihat atau berdiskusi mengenai proyek
repository.
o Seorang kolaborator dengan tingkatan write, biasanya digunakan oleh seorang developer atau pengembang untuk
membuka, melakukan clone, dan melakukan push pada repository tersebut. Ia juga dapat mengelola issues dan pull
request yang masuk.
o Seorang kolabolator dengan tingkatan triage, biasanya digunakan oleh maintainer yang hanya dapat mengeloa
issues dan pull request yang ada masuk ke dalam repository.
o Seorang kolaborator dengan tingkatan maintain, biasanya digunakan oleh seorang project manager yang dapat
mengelola beberapa pengaturan dalam repository. Ia juga dapat melakukan berbagai hal seseorang dengan tingkatan
read.
o Seorang kolaborator dengan tingkatan admin, biasanya digunakan oleh seseorang yang butuh mengakses secara
penuh kepada repository. Ia dapat melakukan berbagai hal, termasuk mengundang kolaborator lain untuk bergabung
dalam repository.
• Seorang kolaborator juga dapat berperan sebagai kontributor. Apa itu kontributor? Kontributor adalah siapa saja yang dapat
melakukan commit atau menyimpan cuplikan perubahan ke dalam repository (git push). Akan tetapi, tidak semua kontributor
dapat melakukan commit secara langsung. Ini disebabkan karena mereka tidak memiliki akses untuk melakukan push ke dalam
repository tersebut (atau tidak berperan sebagai kolaborator). Sehingga mereka perlu melakukan pull request untuk melakukan
commit pada repository orang lain.
• Di dalam GitHub terdapat sistem notifikasi untuk memberikan pembaruan informasi kepada Anda. Secara umum, Anda akan
otomatis berlangganan pemberitahuan bila Anda memiliki:
o Fitur Watch pada repository atau tim yang Anda ikuti dalam keadaan aktif
o Menerima tanggapan Pull request atau membuat issues.
o Melakukan Pull request, issue, atau membuat percakapan diskusi bersama tim.
o Berlangganan secara manual dengan mengeklik Watch atau Subscribe.
o Saat teman atau orang lain melakukan @mentioned terhadap nama GitHub Anda.
o Mengubah status, seperti dengan menutup masalah (issues) atau melakukan penggabungan pull request.
o Anda menjadi anggota tim dan mendapatkan @mentioned oleh satu tim Anda.
• Setiap notifikasi yang masuk akan terlihat pada Inbox Notifications. Anda dapat menghentikan notifikasi dengan cara
melakukan Unsubscribe pada menu Manage Notification.
• Selain mendapatkan notifikasi masuk langsung di dalam GitHub Dashboard, Anda juga akan mendapatkan notifikasi melalui
email yang Anda gunakan sebagai akun GitHub. Pengaturan notifikasi email dapat dilakukan pada menu Setting Notifications.
Dasar Git
Berikut beberapa poin yang telah kita pelajari dalam materi dasar Git:
• Dengan Git, pekerjaan menjadi lebih praktis. Kita dapat melacak perubahan pada berkas yang ada dalam di repository atau
direktori kerja. Selain itu, kita juga dapat mengelola versi rilis dari sebuah proyek dalam repository.
• Penggunaan Git memerlukan adanya repository, yaitu wadah atau tempat penyimpanan proyek di mana setiap berkas yang ada
di dalamnya dapat dilacak jika terjadi perubahan. Berdasarkan jenisnya, repository terbagi menjadi 2, yaitu local
repository dan remote repository.
o Local repository merupakan tempat penyimpanan lokal yang berada di komputer kita. Local repository dapat kita
ubah-ubah (hapus, modifikasi, dan tambah) sesuai dengan keinginan kita, sebelum akhirnya nanti di-
push/diimplementasikan ke remote repository.
o Remote Repository merupakan tempat penyimpanan berkas-berkas pekerjaan atau kenangan yang kita miliki di
dalam server. Anda bisa menggunakan berbagai layanan penyimpanan berbasis cloud yang sangat populer seperti
GitHub, Gitlab, dan BitBucket. Selain itu, jika Anda memiliki server sendiri, Anda juga dapat menginstal Git ke
dalam server. Dengan menggunakan Remote Repository, orang lain dapat mengakses repository yang kita simpan
dengan mudah.
• Pada latihan belajar dasar Git kita belajar menggunakan remote repository dari salah satu penyedia layanan cloud yaitu GitHub.
Dalam belajar dan memahami semua konsep dasar dari Git, kita juga telah melakukan latihan dengan mempraktikkan
bagaimana membuat repository di GitHub, di mana saat membuat repository terdapat pengaturan visibilitas yang terdiri dari 2
yaitu private dan public.
o Private repository merupakan repository yang bersifat tertutup/pribadi dan hanya akun–akun yang telah diberikan
akses saja yang bisa melihatnya.
o Public repository merupakan repository yang bersifat terbuka dan semua orang dapat melihat dan menggunakan
projek yang ada di repository tersebut.
• Ketika membuat repositoryada beberapa inisialisasi yang bisa kita lakukan, yaitu:
o Add a README file atau penambahan README File pada repository baru. Ketika repository telah dibuat, GitHub
secara otomatis membuatkan file Readme ke dalam repository.
o Add .gitignore atau penambahan berkas .gitignore pada repository. Ketika repository telah terbuat,
file .gitignore akan tercipta sesuai dengan pilihan [Link] yang dipilih.
o Choose a license atau penambahan berkas license pada repository. Ketika membuat repository, Anda bisa memilih
lisensi untuk repository tersebut sehingga proyek yang ada di dalamnya dapat digunakan secara bebas oleh orang
lain.
• Selain itu, kita juga telah belajar tentang bagaimana alur kerja dari Git demi menyelesaikan pekerjaan secara konsisten dan
produktif. Kita juga telah belajar tentang bagaimana memanfaatkan Git secara efektif di mana menggunakan Git
memungkinkan kita untuk bekerja dengan tim secara paralel. Memahami alur kerja Git juga dapat mempermudah dalam proses
pengerjaan proyek yang melibatkan tim, terlebih lagi jika skala proyek yang dikerjakan itu besar.
• Lalu, kita juga telah belajar dan memahami konsep perintah dasar dari Git seperti Commit, Checkout, Reset, dan
Revert beserta fungsinya yang bisa di lihat pada tabel berikut.
Fungsi
Perintah
Git Commit Menyimpan hasil perubahan setiap file yang ada di dalam direktori kerja, baik itu file yang baru saja ditambahk
Kemudian kita dapat menyisipkan pesan commit agar memudahkan dalam memahami riwayat perubahan. [Baca
Git Commit]
Git Checkout Melakukan perpindahan dari commit satu ke commit yang dituju. Namun hanya bersifat sementara. Git Checkou
berpindah dari satu cabang kerja (branch) ke cabang kerja lainnya.
Git Reset Mengembalikan keadaan suatu commit ke dalam keadaan sebelum terjadi perubahan sesuai dengan commit yan
menghapus beberapa riwayat commit sesudahnya.
Git Revert Mengembalikan keadaan suatu berkas sebelum terjadi suatu perubahan sesuai dengan tujuan commit yang dituju
menghilangkan riwayat commit sesudahnya.
• Kemudian kita juga membuat file readme yang berekstensi Markdown(md) untuk memberikan informasi tentang tujuan atau isi
dalam repository. Biasanya berkas readme berupa file pertama yang akan dilihat oleh pengunjung repository Anda.
• Ketika membuat berkas readme ada beberapa format penulisan markdown yang dirangkum pada tabel berikut.
Simbol
Format
Heading # atau ==
Subheading --
Italic (Cetak miring) *
Simbol
Format
List -
• Lalu kita juga telah belajar mempraktekkan bagaimana cara membuat release file atau versi rilis untuk sebuah berkas tertentu
di mana kita belajar dengan cara menggunakan fitur manajemen versi yang ada di web GitHub. Dari hasil versi rilis yang kita
telah buat juga dapat diubah sewaktu waktu ataupun dihapus jika diperlukan.
• Kita belajar menuliskan tag version yang baik dan benar yaitu diawali dengan menggunakan huruf v kecil untuk singkatan
versi lalu diikuti tanda titik(.) dan angka versi. Jika memiliki versi yang lebih dari satu angka dapat dipisah menggunakan tanda
titik(.) atau jika ada penggunaan versi nama seperti beta atau alpha bisa dipisahkan dengan tanda hubung(-). [Dapat dipelajari
lebih lanjut di sini]. Berikut contoh – contoh penulisan tagversionyang baik dan benar.
o V.1.0
o V.1.0.0
o V.3.1-alpha
o V.4.2-beta
Studi Kasus Pengalaman Belajar
Berikut beberapa poin yang telah kita pelajari dalam materi Studi Kasus Pengalaman Belajar:
• Untuk membuat repository baru di GitHub, Anda dapat melakukannya dengan cara menekan item tambah/plus (+) pada
bagian kanan atas dan pilih New Repository.
• Terdapat beberapa kolom yang bisa Anda isi pada halaman pembuatan repository GitHub.
Keterangan:
o Owner : Digunakan untuk menentukan siapa pemilik repository yang akan dibuat.
o Repository name : Digunakan untuk menentukan nama dari repository yang akan dibuat.
o Description : Digunakan untuk memberikan penjelasan mengenai repository yang dibuat.
o Public / Private : Digunakan untuk menentukan apakah repository bersifat private atau public. Jika ditetapkan
sebagai public, orang lain dapat mengaksesnya. Sedangkan jika private, orang lain yang tidak memiliki akses tidak
akan bisa mengakses repository tersebut.
o Initialize this repository : Digunakan untuk menambahkan beberapa item yang ada sewaktu repository dibuat,
seperti berkas readme, berkas .gitignore, dan lisensi.
• Repository dalam GitHub mampu menyimpan berbagai jenis berkas, tetapi tak semua dapat ditampilkan dalam mode preview.
Contoh berkas yang sering digunakan adalah berkas [Link] karena dapat diinisialisasi sewaktu pembuatan repository.
• Git Commit dapat digunakan untuk menyimpan perubahan yang dilakukan, seperti penambahan berkas atau perubahan pada isi
berkas. Contohnya ketika Anda menambahkan progress belajar dalam studi kasus.
• Untuk melakukan Commit di GitHub, cukup dengan melakukan beberapa hal berikut:
o Melakukan perubahan.
o Menuliskan pesan perubahan / commit message.
o Menuliskan deskripsi perubahan / commit description.
o Memilih lokasi commit, apakah langsung melanjutkan dalam cabang / branch saat ini (main) atau menggunakan
cabang / branch baru.
o Menekan tombol “Commit Change” untuk mengeksekusi commit.
• Berkas readme dalam studi kasus menggunakan bahasa Markdown. Markdown merupakan bahasa markah (markup language)
ringan yang dapat digunakan untuk menambahkan format pada dokumen teks biasa [1]. Saat ini Markdown menjadi salah satu
bahasa markup yang cukup populer.
• Sedangkan bahasa markah (markup language) merupakan sistem modern untuk memberikan keterangan pada dokumen dengan
sintaksis yang dapat dibedakan dari kontennya. Biasanya ia menggunakan tag atau tanda tertentu untuk mendefinisikan elemen
dalam dokumen, dikenal dari istilah "marking up" (memberikan penanda).
• Berikut adalah beberapa format Markdown yang digunakan dalam studi kasus:
o Heading
Dalam bahasa markdown, tanda pagar digunakan untuk membangun sebuah heading. Semakin banyak jumlah tanda
pagar (#), maka semakin besar level heading-nya. Ketika semakin besar level heading-nya, maka teks akan menjadi
lebih kecil.
o Line Breaks
Anda bisa membuat baris baru dalam bahasa markdown menggunakan dua spasi atau lebih. Selain itu, Anda juga
bisa menggunakan tanda atau tag <br> alias break.
o Unordered List
Tanda bintang dalam bahasa markdown akan berubah menjadi daftar atau list yang tidak berurutan. Selain tanda
bintang, tanda hubung (-) dan tanda tambah (+) juga akan diartikan sebagai daftar yang tidak berurutan atau
unordered list.
o Bold
Anda juga dapat memberikan penebalan pada teks. Anda cukup mengutip teks tersebut menggunakan dua tanda
bintang (**) di awal dan di akhir. Dengan begitu, teks tersebut akan menjadi lebih tebal atau biasa disebut
dengan bold.
o Silakan buka tautan Markdown Guide Basic Syntax untuk melihat format lainnya.
• Anda dapat melihat history perubahan (commit history) dengan mudah di GitHub. Caranya cukup ke halaman repository,
kemudian menentukan branch mana yang akan dipilih, dan pilih bagian icon jam dengan teks History.
• Pada halaman detail commit, Anda juga dapat melihat berbagai perubahan yang telah dilakukan baik penambahan, pengubahan,
atau pengurangan.
• Dengan bantuan release dari GitHub, kita dapat memublikasikan sesuatu sehingga orang lain dapat menemukannya dengan
mudah. Caranya pergi ke halaman repository, kemudian fokus pada bagian kanan di sub Release. Lalu, silakan klik create a
new release untuk memublikasikan project repository Anda.
Git Branches
Berikut beberapa point dalam materi Git Branch:
• Branch bisa disebut juga percabangan. Kita dapat meminimalisir kesalahan dalam server atau aplikasi yang berjalan sehingga
mempermudah developer untuk melakukan bug fixing, hingga pembuatan fitur baru di dalam repository.
• Berikut adalah alasan dari penggunaan Git Branch:
o Tanpa git branch pekerjaan akan menjadi rumit. Ketika fitur yang telah selesai masih menjadi satu dengan fitur lain
dan kemudian dijalankan, maka akan terdapat banyak bug atau kesalahan karena ada pekerjaan yang tumpang
tindih.
o Penambahan branch baru dapat meminimalisir kesalahan pada aplikasi utama.
o Git branch juga berfungsi untuk mempermudah dalam berkolaborasi dalam tim. Selain itu, membuat pekerjaan
menjadi lebih teratur karena setiap pekerjaan tidak saling tumpang tindih.
• Ketika pembuatan branch baru, kita memerlukan source (sumber) untuk pengembangan aplikasi, sehingga kita perlu
mengambil sumbernya berdasarkan branch utama yang biasa disebut main/master.
• Selain itu kita juga telah belajar bagaimana melakukan perpindahan branch atau bisa disebut juga git checkout pada GitHub.
Perintah ini berfungsi untuk membuka commit tertentu secara sementara serta membuka branch. Ketika berpindah dari branch
satu ke branch lainnya, history commit dari branch tersebut akan menyesuaikan.
• Kemudian kita mempelajari merge, yang berarti penggabungan dua branch menjadi satu. Anda dapat menggunakan git merge
untuk menggabungkan setiap branch yang dengan commit yang berbeda-beda menjadi satu kesatuan baru di dalam branch.
Selain itu, git merge juga dapat digunakan sebagai penggabungan setiap fitur yang telah dikerjakan. Ketika salah satu branch
tidak ada kesalahan, Anda dapat melakukan pull request untuk menggabungkannya ke branch utama.
• Ketika melakukan penggabungan dua branch atau merge, kita harus teliti. Sebab, jika kita melakukan kesalahan, bisa saja kita
menghapus branch secara tidak sengaja. Akibatnya kita perlu melakukan pembuatan ulang branch. Oleh karena itu, perlu
kehati-hatian yang lebih pada saat melakukan merge agar branch yang telah dibuat tidak terhapus. Selain itu, ketika tidak teliti
juga dapat mengakibatkan conflict atau terjadinya kesalahan. Conflict terjadi karena Anda tidak memeriksa secara seksama
branch utama dan sumber branch sebelum melakukan merge.
• Ketika terjadi conflict, Anda tidak perlu khawatir. Biasanya akan ada indikator ketika terjadi conflict, yakni tulisan "this
branch has conflict that must be resolved". Kemudian Anda akan disuguhkan code yang menjadi penyebab conflict tersebut.
Anda dapat melihat batasannya conflict dengan simbol = (sama dengan). Anda dapat mempertahankan kode/data dari ke dua
branch. Setelah merasa yakin dengan kode/data yang ditulis, Anda dapat mengeklik bagian mark as resolved. Kemudian
indikator conflict akan hilang. Saatnya untuk menggabungkan kedua branch dengan merge.
Kolaborasi dengan Tim
• Kolaborasi adalah proses dua orang atau lebih, entitas atau organisasi yang bekerja sama untuk menyelesaikan tugas atau
mencapai suatu tujuan. Sebagian besar kolaborasi membutuhkan kepemimpinan, meskipun bentuk kepemimpinan dapat
bersifat sosial dalam kelompok yang terdesentralisasi dan egaliter (sederajat).
• Fitur kolaborasi ini dapat Anda temukan pada GitHub dengan menambahkan akun lainnya (kolaborator) ke dalam repository
yang tersimpan.
• Di dalam GitHub sendiri terdapat dua cara kolaborasi bersama tim yang sering digunakan:
o Repository Organisasi : Pemilik organisasi dapat menambahkan kolaborator dengan tingkat izin yang berbeda
untuk berbagai repository.
o Repository Pribadi : Pemilik repository dapat menambahkan kolaborator dengan akses read & write untuk satu
repository.
o Fork adalah proses menyalin proyek repository orang lain ke repository pribadi. Fork bertindak sebagai jembatan
antara repositori asli (original repository) dan repositori salinan (fork repository). Anda dapat menawarkan
perubahan yang dilakukan pada repositori salinan ke repositori asli untuk membantu membuat proyek orang lain
lebih baik dengan melakukan pull request.
o Squash bertujuan untuk membuat riwayat commit yang lebih ramping dalam repository. Pada dasarnya setiap
commit akan membantu untuk melihat setiap perubahan yang telah dilakukan, tetapi tak semua commit selalu
menjadi hal yang penting untuk disimpan dalam riwayat Git. Contohnya ketika melakukan beberapa perubahan pada
formating (perubahan spasi, titik, koma). Jika Anda menggabungkan beberapa commit ini menjadi satu commit,
perubahan yang dilakukan menjadi terlihat lebih jelas terlihat, serta menjadi lebih fokus pada tujuan dari commit
tersebut.
• Untuk melakukan squashing dalam GitHub, Anda dapat menggunakan Squash & Merge sewaktu melakukan pull request.
• Network graph dalam GitHub digunakan untuk melihat berbagai alur dari riwayat commit sebuah repository.
• Network Graph dalam GitHub hanya tersedia secara gratis untuk repository publik dengan akun pribadi dan akun organisasi.
Sedangkan untuk repository private dapat digunakan secara berbayar melalui GitHub Pro, GitHub Team, GitHub Enterprise
Cloud, dan GitHub Enterprise Server. Untuk informasi lebih lanjut, lihat " Tentang grafik repositori " dan " Produk GitHub ."
• Network graph semua commit yang dilakukan akan terlihat dalam bentuk jalur history. History ini terdiri dari kumpulan
titik/dot yang mewakili commit dan pull request yang telah dilakukan.
• Code reviews bertujuan untuk mengomentari perubahan, menyetujui perubahan, atau meminta perubahan lebih lanjut sebelum
pull request digabungkan.
• Berikut beberapa aspek yang dapat digunakan sebagai acuan dalam melakukan ulasan kode/code reviews:
o Kode dirancang dengan baik.
o Fungsionalitasnya dapat berjalan dengan baik.
o Setiap perubahan yang dilakukan masuk akal dan terlihat bagus.
o Kodenya tidak lebih kompleks dari yang seharusnya.
o Developer mengimplementasikan hal-hal yang diperlukan saat ini saja. Bukan menyediakan kode untuk masa
depan, tetapi tidak digunakan saat ini.
o Kode memiliki unit test (pengujian unit) yang sesuai.
o Pengujian dirancang dengan baik.
o Pengembang menggunakan nama yang jelas untuk segala penamaan.
o Komentar yang ditambahkan jelas dan bermanfaat. Selain itu komentar ditujukan untuk menjelaskan kode apa yang
ditulis beserta alasannya.
o Kode telah didokumentasikan dengan tepat.
o Kode ditulis sesuai dengan panduan (style guideline) yang telah disepakati.
• Code review dilakukan ketika anggota tim/kontributor melakukan perubahan dan melakukan pull request.
• Selain mempelajari teori pada modul ini terdapat latihan-latihan yang telah dilakukan diantaranya yaitu;
o Latihan Berkolaborasi dengan Tim: Mengajarkan bagaimana menambahkan anggota tim di dalam repository agar
dapat saling berkolaborasi. Melakukan verifikasi email setelah pengelola repository mengundang sebagai
kolaborator atau salah satu anggota tim kolaborasi. Kemudian melakukan perubahan dengan membuat branch baru
dan menggabungkannya ke branch utama menggunakan pull request dan merge.
o Latihan Berkolaborasi pada Public Repository: Mengajarkan bagaimana menyalin repository orang/organisasi
lain dan kemudian menyimpannya ke dalam repository pribadi. Lalu melakukan perubahan pada repository salinan
dan dilanjutkan dengan melakukan pull request agar perubahan yang dilakukan dapat diimplementasikan ke dalam
repositori asli (original repository).
o Latihan Revert : Mengajarkan bagaimana mengembalikan perubahan/commit yang telah dilakukan. Salah satu
keuntungan menggunakan Git revert, yakni mampu menargetkan commit pada titik yang diinginkan dalam riwayat
commit.
o Latihan Squashing Changes : Mengajarkan bagaimana menggabungkan atau merekap beberapa commit menjadi
satu. Kemudian menggunakan fitur Squash and Merge untuk mengirim rekap commit tersebut ke dalam branch
utama (base branch). Serta melihat jalur history commit dan pull request yang telah dilakukan melalui
fitur Network graph.
o Latihan Code Review : Mengajarkan bagaimana menggunakan fitur code review dalam GitHub, seperti
memberikan ulasan kode pada permintaan pull request dari anggota tim (kontributor). Serta mengirim hasil reviews
yang telah dilakukan dengan memberikan status pesan reviews seperti:
▪ Comment : memberikan umpan balik secara langsung tanpa menyetujui perubahan atau meminta
perubahan tambahan.
▪ Approve : mengirimkan umpan balik dan menyetujui penggabungan perubahan yang diusulkan dalam
pull request.
▪ Request changes : mengirimkan umpan balik perbaikan yang harus ditangani sebelum pull request dapat
di-merge.
Studi Kasus Kolaborasi dengan Tim
• GitHub memungkinkan kita mengembangkan project atau aplikasi dengan banyak orang dalam waktu yang bersamaan.
• Ketika Anda memiliki akses untuk melakukan perubahan dalam sebuah repository, Anda tidak perlu melakukan forking atau
penyalinan repository orang/organisasi lain ke repository pribadi. Sehingga cukup membuat branch baru untuk menampung
perubahan yang akan dilakukan, kemudian lakukan Pull Request pada branch tujuan.
• Lalu jika Anda tidak memiliki akses pada repository orang/organisasi lain, maka dapat mengikuti langkah-langkah berikut:
o Sebagai seorang kontributor, Anda perlu melakukan forking atau menyalin repository tersebut.
o Melakukan perubahan pada hasil salinan repository (forked repository) dan menyimpannya menggunakan commit.
o Melakukan pull request / meminta izin kepada kolaborator untuk mengimplementasikan perubahan dilakukan.
o Sebagai seorang kolaborator, mereka akan memastikan perubahan yang Anda lakukan sesuai dengan seharusnya.
Jika tidak, mereka bisa memberi saran baik melalui forum diskusi atau langsung pada baris kode. Proses ini
dinamakan code review.
o Jika perubahan sudah sesuai, kolaborator akan menyetujui (approve) pull request yang telah Anda lakukan.
Sehingga perubahan yang dilakukan sudah ada dalam repository utama.
• Dengan melakukan PR, kita dapat meninjau terlebih dahulu apakah kode yang akan diimplementasikan sudah sesuai atau
belum. Sehingga kita bisa menghindari terjadinya bug atau masalah. Selain itu, Anda juga bisa berdiskusi dengan rekan tim
atau orang lain dalam PR tersebut.
• Terdapat beberapa kolom yang bisa Anda isi pada halaman pembutan pull-request dalam GitHub.
Berikut keterangannya:
o Message Merge : Digunakan untuk memberikan pesan singkat mengenai PR yang dilakukan.
o Description Commit : Digunakan untuk memberikan informasi yang lebih detail mengenai PR yang dilakukan.
o Reviewer : Digunakan untuk meminta lain untuk mereviu perubahan yang telah dilakukan.
o Assigness : Digunakan untuk menginformasikan siapa yang memberikan tugas untuk melakukan PR.
o Label : Digunakan untuk memberikan kategori pada sebuah PR, contohnya pembetulan suatu masalah (bug),
penambahan fitur (enchantment), penambahan dokumentasi (documentation), atau yang lainnya.
• Ketika berkolaborasi, kita bisa mengubah satu file yang sama dengan orang lain. Namun, sebelum melakukan PR Anda perlu
memastikan kembali apa yang diubah tidak menimbulkan conflict. Conflict terjadi biasa ketika Anda menggabungkan branch
satu ke branch lainnya terdapat masalah dalam satu baris yang sama pada suatu file.
• Jika terjadi conflict, Anda perlu memilih bagian mana yang dipertahankan. Anda dapat memilih apakah mempertahankan
teks/kode yang ada dalam PR terbaru, atau menggunakan teks/kode dalam repository utama.
GitHub sebagai Portofolio
• Secara umum, portofolio merupakan kumpulan dokumen dan tulisan yang disusun secara rapi dan menarik. Artinya, portofolio
ini berupa laporan lengkap dari suatu dokumen dan hasil karya dari aktivitas seseorang yang telah dilakukan.
• Tujuan dari portofolio adalah untuk mendokumentasikan perkembangan suatu proses dalam mencapai tujuan yang telah
dicapai.
• CV berbeda dengan Portofolio.
• CV atau curriculum vitae merupakan gambaran tertulis tentang pengalaman seseorang beserta kualifikasi lain untuk
mendapatkan kesempatan kerja, sedangkan portofolio biasanya digunakan untuk membuktikan apa yang telah ditulis dalam
CV.
• Contohnya, dalam CV Anda menuliskan mempunyai kemampuan untuk membangun aplikasi Android. Kemampuan tersebut
dibuktikan dengan portofolio, bisa dalam bentuk url aplikasi, gambar aplikasinya, atau mungkin source code jika bersifat open
source.
• Portofolio itu penting bagi seorang developer.
• Portofolio memudahkan perekrut dalam menentukan apakah kualifikasi calon pekerja sesuai dengan jenis pekerjaan yang
ditawarkan. Selain itu, ada beberapa perusahaan yang lebih mempertimbangkan daftar pencapaian daripada tingkat pendidikan
seseorang.
• GitHub merupakan salah satu platform atau media yang dapat digunakan untuk membangun portofolio dari seorang developer.
• Berikut beberapa alasan mengapa GitHub dapat digunakan sebagai media atau platform untuk membangun portofolio:
o Mudah untuk Merancangnya
GitHub mendukung Anda untuk membuat berbagai berkas dengan ekstensi apa pun, salah satunya adalah
Markdown. Dengan markdown, Anda dapat membangun portofolio seciamik mungkin.
o Portabilitas
Melalui GitHub, Anda dapat membuat dan menampilkan portofolio kapan dan di mana saja. Anda dapat
menggunakan laptop kantor, komputer pribadi, bahkan melalui handphone Anda. Bahkan portofolio tersebut dapat
dengan mudah diakses oleh orang lain. Anda cukup mengirimkan alamat GitHub-nya saja, dan orang lain dapat
melihat informasinya dengan mudah. Bayangkan jika Anda menggunakan berkas pdf atau word, maka akan
membutuhkan tenaga lebih untuk mengunggah dan mengunduhnya. Berikut contoh dari alamat yang bisa Anda
dapatkan pada halaman profile GitHub Anda.
o Berkolaborasi dengan Orang Lain
Cara terbaik untuk membuat portofolio adalah dengan meminta saran kepada teman atau rekan Anda. Oleh karena
itu, ketika teman atau orang lain ingin memberikan feedback, mereka dapat melakukan pull-request dan issue pada
portofolio Anda. Dengan begitu, Anda dapat melihat perubahan yang telah dilakukan dan dapat memahami dengan
lebih mudah.
o Lebih Sedikit Biaya Manajemen
Membangun portofolio menggunakan GitHub tidak akan memakan banyak biaya dan tenaga. Sebab, Anda dapat
mengelola berkas tersebut cukup dalam satu berkas. Semua history perubahan juga terlihat dengan mudah.
• Semua perubahan akan tersimpan dengan rapi. Mulai dari pembuatan hingga memublikasikannya ke publik.
• Ketika Anda membuat repository dengan nama akun GitHub, berkas readme-nya secara otomatis akan tampil di halaman profil
Anda.
• Ketika membangun portofolio menggunakan GitHub, maka Anda dapat membagikan portofolio cukup menggunakan tautan
akun GitHub.
• Anda dapat menggunakan fitur preview untuk memastikan apa yang Anda tulis ke dalam berkas readme sesuai dengan
ekspektasi.
• Anda dapat meniru, mengamati, dan memodifikasi referensi portofolio yang dibangun dengan GitHub agar portofolio menjadi
lebih menarik. Namun, ada baiknya tidak terpaku pada satu referensi saja.
• Melalui Markdown (.md), Anda bisa membangun portofolio semenarik mungkin.
Daftar Referensi
Silakan kunjungi beberapa tauatan berikut untuk mempelajari berbagai hal lain seputar materi git degan GitHub:
• Panduan Git
• Mengelola Notifikasi GitHub
• Git Commit
• Git Checkout
• Git Reset
• Git Revert
• Add a README file
• About READMEs
• Create .gitignore Files
• Create Licensing a repository
• Semantic Versioning 2.0.0
• Managing Releases in A Repository
• Creating a Pull Request
• Merging a Pull Request
• Gitflow Workflow
• About Commits
• How to Collaborate on GitHub
• Setting Permissions for Adding Outside Collaborators
• Forking