Day 10 — Git Merge, Conflict Resolution & Checkpoint Evaluasi
Fase: 1 — Fundamental Laravel | Minggu: 2 | Hari: Jumat
🎯 Tujuan Hari Ini
Peserta mampu melakukan Pull Request, memahami cara menyelesaikan Merge Conflict, dan menyelesaikan Checkpoint Evaluasi Minggu 2.
📋 Task Wajib
1. Standup & Review Branch (09:00 – 09:30)
Setiap anggota laporan singkat:
- Apakah branch kemarin sudah di-push ke GitHub?
- Ada error atau kesulitan saat push?
PM mengecek di GitHub: semua branch anggota harus sudah muncul.
2. Buat Pull Request di GitHub
Setiap anggota membuat Pull Request (PR) untuk branch mereka masing-masing:
- Buka repositori di GitHub
- Klik tab "Pull requests" → "New pull request"
- Pilih:
base: main←compare: feature/[nama-branch-kamu] - Isi deskripsi PR:
## Deskripsi [Jelaskan apa yang kamu ubah/tambahkan] ## Type of Change - [ ] Bug fix - [x] New feature - [ ] Refactor ## Screenshot [Tempel screenshot jika ada perubahan visual] - Klik "Create pull request"
3. Review PR Anggota Lain (Shift Review)
| Reviewer | Branch yang Direview |
|---|---|
| Backend Dev | PR milik Frontend Dev |
| Frontend Dev | PR milik QA Tester |
| QA Tester | PR milik PM |
| PM | PR milik Backend Dev |
Cara mereview:
- Klik PR yang harus direview
- Buka tab "Files changed" → lihat semua perubahan
- Berikan komentar jika ada yang janggal (klik tombol
+di sebelah baris kode) - Jika OK → klik "Review changes" → pilih "Approve" → Submit
4. Simulasi Merge Conflict
Ini adalah latihan paling penting hari ini!
Mentor: Buat situasi konflik secara sengaja:
- Di branch
main, ubah baris X di fileindex.blade.php - Di branch
feature/[siapa-saja], ubah baris yang sama di file yang sama dengan konten berbeda - Coba merge → Git akan reporting conflict!
Tampilan conflict di file:
<<<<<<< HEAD (main)
<h1>Daftar Siswa</h1>
=======
<h1>Data Peserta Magang</h1>
>>>>>>> feature/styling-tableCara resolve conflict:
- Buka file yang konflik di VSCode
- VSCode akan highlight area konflik dengan warna
- Pilih salah satu versi (atau gabungkan keduanya) secara manual
- Hapus marker
<<<<<<<,=======,>>>>>>> - Save file
- Lanjutkan merge:bash
git add . git commit -m "resolve: merge conflict di index.blade.php" git push
5. Merge Semua PR ke Main
Setelah PR di-approve, PM melakukan Merge semua PR:
git checkout main
git pull origin mainPastikan semua fitur dari setiap branch sudah masuk ke main.
🎓 CHECKPOINT EVALUASI — Akhir Minggu 2
Ini adalah evaluasi resmi. Mentor menilai setiap peserta secara individu.
Q&A tertulis (Individual, 20 Menit)
Jawab pertanyaan berikut di kertas atau dokumen terpisah:
Pertanyaan Konsep:
- Jelaskan dengan kata-kata kamu sendiri: apa itu MVC? Apa tugas masing-masing komponen?
- Apa perbedaan
Route::get()danRoute::post()? - Apa itu Migration? Mengapa lebih baik dari import SQL manual?
- Apa fungsi
$fillabledi Model Eloquent? - Jelaskan perbedaan
git mergedangit pull
Pertanyaan Praktikal: 6. Tulis kode lengkap untuk membuat route resource untuk model Category 7. Tulis method store() di Controller yang menyimpan data ke database dengan validasi 8. Apa yang terjadi jika kamu menghapus @csrf dari form POST?
📝 Laporan Akhir Minggu 2
📌 LAPORAN AKHIR MINGGU 2 — Day 10
Nama : [Nama Lengkap]
Role : [Role Kamu]
✅ Yang saya kerjakan hari ini:
- [ ] Membuat Pull Request untuk branch saya
- [ ] Mereview PR anggota lain
- [ ] Berhasil menyelesaikan simulasi merge conflict
- [ ] PR saya di-merge ke main
- [ ] Mengerjakan soal checkpoint evaluasi
🔗 Link PR saya di GitHub: [URL]
📸 Screenshot Wajib:
1. Pull Request kamu di GitHub (dengan status Merged)
2. Halaman conflict di VSCode (saat simulasi)
3. Repo GitHub setelah semua branch di-merge
📊 Rangkuman Minggu 2:
- Hal paling menantang minggu ini: ...
- Hal paling menarik yang saya pelajari: ...
- Rating kepercayaan diri saya tentang CRUD (1-10): ...
- Rating kepercayaan diri saya tentang Git (1-10): ...
❓ Hal yang masih bingung / perlu penjelasan di Week 3:
[Tulis pertanyaan kamu]Catatan Mentor — Checklist Checkpoint
Sebelum masuk ke Fase 2 (Week 3), pastikan semua peserta bisa:
- [ ] Membuat dan menjalankan migration dari scratch
- [ ] Membuat model dengan
$fillable - [ ] Mengimplementasikan full CRUD dengan validasi
- [ ] Push dan pull dari GitHub
- [ ] Membuat dan merge branch tanpa bantuan mentor
Jika ada peserta yang belum memenuhi standar minimum, pertimbangkan untuk memberikan latihan tambahan sebelum memulai mini project di Week 3.