Git and GitHub
Git and GitHub
Dengan cara tersebut akan sangat sulit untuk dapat bekerja secara team dan membangun aplikasi yang besar.
Saat development menjadi semakin kompleks dan tim berkembang, kebutuhan untuk dapat mengelola kode dan
keseluruhan produk akan semakin kritikal.
Manfaat lainnya:
● VCS dapat menyimpan versi stabil dari sebuah aplikasi, sehingga apabila terjadi error kita bisa melakukan
revert atau kembali ke versi tertentu dengan cepat.
● Developer dapat berkontribusi dan berkolaborasi pada project dari mana saja
● Memberikan informasi tentang siapa, kapan dan kenapa dari sebuah perubahan kode
Apa Itu Git?
Git adalah open source version control system yang dibuat
oleh Linus Torvalds pada tahun 2005.
Hasil:
Cara Menginstal Git di Linux
Hasil
Git Setup
Git akan mencatat setiap perubahan kode dan menyimpan siapa dan kapan perubahan
dilakukan. Oleh karena itu, di awal setup git kita perlu menambahkan informasi
mengenai diri kira pada git config dengan perintah berikut
Dengan di integrasikan dengan VCS, repository menjadi lokasi yang menyimpan semua revisi
file. Repository ini dapat berupa repository jarak jauh (remote repo) yang disimpan di server
berbeda seperti GitHub, atau repositori lokal yang ada di komputer masing-masing.
Kita dapat menggunakan repositori untuk berkolaborasi dengan orang lain dan melakukan
tracking pada pekerjaan bersama
Lokal Repository dan Remote Repository
Apabila kita bekerja secara individual, mungkin
saja kita tidak butuh sebuah remote repository.
Beberapa alasan mengapa kita perlu meluangkan waktu untuk menulis file README:
1. README menjadi panduan bagi developer-developer lain yang ingin ikut berkontribusi pada project
untuk melakukan setup dan mengetahui cara kerja dalam project tersebut.
2. README yang baik membantu project kita menonjol dari project lain, kualitas deskripsi README
membedakan mana proyek yang baik dan buruk.
Apa itu file .gitignore?
Saat membagikan kode kita dengan orang lain, seringkali ada file atau bagian dari project kita,
yang tidak ingin kita bagikan.
Contoh
● file log
● file temporary
● file tersembunyi
● file pribadi
● dll.
Git dapat menentukan file atau bagian mana dari proyek kita yang harus diabaikan oleh Git
menggunakan file .gitignore. Git tidak akan melacak perubahan file dan folder yang dimuat dalam
.gitignore. Namun, perubahan file .gitignore itu sendiri dilacak oleh Git.
Cara melakukan clone repository
Saat kita membuat repository di GitHub, repository terbentuk sebagai remote
repository. Kita dapat mengkloning atau mengunduh repository kita untuk
membuat salinan di komputer kita dan mensinkronkan antara dua lokasi tersebut
(komputer kita dan GitHub).
kita dapat mengkloning repository kita sendiri atau mengkloning repositori orang
lain untuk ikut berkontribusi pada sebuah project, open source project misalnya.
Cara melakukan clone repository
Mengkloning repository akan menarik salinan lengkap dari semua data repositori
yang dimiliki GitHub pada saat itu, termasuk semua versi dari setiap file dan
folder untuk proyek tersebut. Kita dapat melakukan “push” atau melakukan share
perubahan yang kita buat ke GitHub, atau melakukan “pull” untuk mengunduh
perubahan yang dibuat kolaborator lain dari GitHub.
Steps:
1. Pergi ke https://github.com/adityaridha/Demo-Jayjay
2. Buka menu ‘Code’, pilih HTTPS dan salin URL tersebut
3. Buka terminal di komputer kita
4. ketik ‘git clone <url-repository-kita>’
Cara clone repository
Video ini akan menunjukkan kepada Anda Cara Mengkloning Repository
Pembelajaran Selanjutnya
jayjay.co
Git Branch
Bekerja dengan menggunakan Git, membuat branch adalah
hal mendasar yang akan kita lakukan sehari-hari.
Branch mewakili garis perkembangan yang independen.
Git Branch
Saat kita ingin membuat fitur baru atau memperbaiki bug, tidak peduli seberapa besar atau kecil
perubahan yang kita buat, kita harus membuat branch baru untuk merangkum dan mengisolasi
perubahan yang kita buat.
Dengan menerapkan hal tersebut kita dapat mengelola dengan mudah apabila ada terjadi
kesalahan pada kode yang kita buat, dan tidak langsung mempengaruhi aplikasi yang sudah
berjalan dan digunakan oleh user
Membuat branch
Jika perubahan atau pengembangan kita berjalan dengan baik, kita
dapat menggabungkan perubahan kita ke dalam branch master. Jika
segala sesuatunya tidak berjalan dengan baik, kita selalu dapat
membuang branch atau menyimpannya di dalam repositori lokal.
Alternatif
3. membuat cabang baru sekaligus pindah ke branch tersebut
git checkout -b [branch-name]
Git Stages
Git memiliki 3 stages utama atau 3 kondisi dari sebuah file, yaitu:
1. Modified
Ada perubahan dalam file, namun belum disimpan secara
permanen informasinya dalam lokal repository
2. Staged
File sudah dipilih untuk akan disimpan dalam lokal repository
3. Committed
perubahan data sudah tersimpan pada lokal database
Apa itu commit?
A commit seperti snapshot dari semua file dalam proyek kita pada titik waktu tertentu.
Perintah "git commit" digunakan untuk menyimpan perubahan kita ke lokal repository
Perhatikan bahwa Anda harus secara eksplisit memberi tahu Git perubahan mana yang ingin Anda
sertakan dalam komit sebelum menjalankan perintah "git commit". Ini berarti bahwa file tidak
akan secara otomatis disertakan dalam komit berikutnya hanya karena telah diubah. Sebagai
gantinya, Anda perlu menggunakan perintah "git add" untuk menandai perubahan yang diinginkan
untuk dimasukkan.
git status
Perintah “git status” digunakan untuk mengetahui status dari branch kerja kita. Perintah Ini
menunjukkan keadaan direktori kerja kita dan membantu melihat semua file yang diubah atau file
yang akan ditambahkan ke repository.
Perintah “git status” akan menunjukkan perbedaan pada kondisi terakhir saat perintah ini
dijalankan dengan kondisi saat awal branch dibuat.
git add
Perintah “git add” digunakan untuk menambahkan perubahan di direktori kerja ke area staged. Perintah Ini
memberi tahu Git bahwa kita ingin memasukkan pembaruan ke file tertentu di komit berikutnya. Namun, git
add tidak terlalu memengaruhi repositori secara signifikan—perubahan sebenarnya tidak dicatat sampai
Anda menjalankan 'git commit'.
Git tidak merekomendasikan untuk melakukan commit tanpa pesan apapun. Pesan komit Git diperlukan
untuk melihat ke belakang dan melihat perubahan yang dibuat selama komit tertentu. Jika semua orang
hanya akan melakukan tanpa pesan apa pun, tidak ada yang akan tahu perubahan apa yang telah dilakukan
pengembang. Selain itu, Anda tidak akan dapat melacak perubahan ini setelah Anda melihat riwayatnya.
Jadi, Git tidak merekomendasikan ini.
Cara melakukan semua perubahan yang sudah di tahapan:git commit -m "commit message"
git log
'git log' adalah perintah yang digunakan di Git untuk mengakses riwayat komit yang telah dilalui
repositori. Perintah log sederhana dijalankan dengan mengetikkan perintah berikut
di dalam git: git log
Kontributor lain dapat meninjau perubahan yang Anda usulkan, menambahkan komentar ulasan,
berkontribusi pada diskusi pull request, dan bahkan menambahkan commit ke pull request
Keuntungan Pull Request
Keuntungan Pull Request
Kualitas perangkat lunak yang lebih baik
membuat pull request berarti fitur tersebut harus disetujui oleh lead/maintainer
atau bahkan QA sehingga staging server state hanya akan diupdate setelah semua perubahan
disetujui oleh lead & QA. Ini memastikan bahwa semua kode di server pementasan kami
sudah diperiksa oleh beberapa pemangku kepentingan sehingga kualitasnya lebih baik.
Setelah kita selesai melakukan perubahan di branch kita, dan perubahan yang dibuat perlu digabungkan kembali
ke branch utama atau branch master, maka kita perlu membuat Pull Request.
Langkah pertama yang perlu kita lakukan untuk membuat Pull Request serta membuat perubahan kita bisa direview oleh partner
kita dalam remote repository adalah dengan cara melakukan “git push”. Perintah git push digunakan untuk mengupload
perubahan yang kita lakukan di lokal repository ke remote repository.
Cara membuat Pull request Dari Git Terminal
Cara membuat Pull request Dari Situs Web GitHub
Homework
Homework
Tugas:
- Siswa harus mendaftar di GitHub dan memulai repositori di dalamnya
- Referensi Instruksi: https://www.rithmschool.com/courses/git/git-github-git-basics-exercises
Kriteria:
- Siswa harus dapat mengkloning dari repo jarak jauh
- Siswa harus mampu mendorong dan berkomitmen pada repo mereka sendiri
- Jumlah komit harus sama dengan instruksi
- Percabangan harus mengikuti instruksi
Referensi
https://www.toolsqa.com/git/what-is-git/
https://docs.github.com/en/get-started
https://betterexplained.com/articles/a-visual-guide-to-version-control/
https://git-scm.com/book/id/v2/Memulai-Tentang-Version-Control
Let’s work!
jayjay.co
Thank you!
jayjay.co