Modul Pelajar

Git & GitHub β€” Modul Pembelajaran Sendiri

Pelajari Git dan GitHub langkah demi langkah. Dari apa itu Git, hingga guna GitHub MCP dalam Claude Code. Ikut mengikut kadar anda sendiri.

πŸ—ΊοΈ

Perjalanan Pelajar Fasa Ini

Apa yang bakal anda capai β€” dan kenapa ia penting untuk kerjaya anda.

🌟
GitHub adalah 'Instagram untuk Developer'
Ini platform anda untuk simpan kod, tunjuk portfolio, dan bekerjasama
β–Ό

GitHub adalah 'Instagram untuk developer'. Ia tempat anda simpan kod, tunjuk portfolio, dan bekerjasama dengan orang lain.

Selepas fasa ini, anda akan ada:

  • Akaun GitHub dengan profil yang lengkap
  • Projek-projek yang BOLEH ditunjuk pada majikan
  • Bukti anda bukan sekadar 'cakap' β€” anda BINA
  • Sejarah commit yang menunjukkan konsistensi dan progress
  • Pull Request yang membuktikan anda boleh kerja dalam pasukan
Ingat: Dalam industri, resume boleh tipu. GitHub tidak. Tunjuk kod anda β€” biar kod yang bercakap.
πŸ€”

Apa Itu Git & GitHub?

Konsep asas yang perlu difahami sebelum mula.

πŸ“Œ
Git β€” Sistem Kawalan Versi
Definisi mudah dan kenapa ia penting
β–Ό

Git adalah alat yang merakam setiap perubahan pada kod anda. Ianya seperti "mesin masa" untuk folder projek anda.

🌟 Kenapa Git Penting?

  • Sejarah lengkap β€” setiapa perubahan direkod, boleh balik bila-bila masa
  • Cabang (branch) β€” boleh cuba idea baru tanpa risau rosakkan kod utama
  • Kolaborasi β€” ramai orang boleh kerja pada projek sama serentak
  • Backup β€” repositori ada di banyak tempat (lokal dan remote)
  • Accountability β€” tahu siapa buat apa dan bila
Ingat: Git berjalan di komputer anda (tempatan). Anda tak perlukan internet untuk guna Git. GitHub adalah platform dalam talian yang menggunakan Git.
🌐
GitHub β€” Platform Awan untuk Git
GitHub adalah repositori Git di awan
β–Ό

GitHub adalah perkhidmatan hosting untuk repositori Git. Ianya seperti "Google Drive untuk kod" tetapi dengan superpowers kolaborasi.

Apa Yang GitHub Tambah?

  • Remote repo β€” simpan kod di awan, akses dari mana-mana
  • Pull Request (PR) β€” minta orang lain review kod sebelum merge
  • Issues β€” sistem tracking untuk bug dan feature request
  • Actions (CI/CD) β€” automasi test dan deploy
  • Projects β€” papan pengurusan projek (Kanban)
  • GitHub Pages β€” host laman web percuma
Ringkasan: Git = enjin. GitHub = dashboard + cloud storage.
πŸ”§

Instalasi & Setup

Persediaan awal sebelum guna Git dan GitHub.

πŸ’»
Langkah 1: Install Git
Cara install Git ikut sistem operasi
β–Ό

πŸͺŸ Windows

# Muat turun dari: https://git-scm.com/download/win # Atau guna winget (Windows 11): winget install --id Git.Git -e --source winget

🍎 macOS

# Guna Homebrew: brew install git # Atau muat turun dari: https://git-scm.com/download/mac

🐧 Linux (Ubuntu/Debian)

sudo apt update sudo apt install git

βœ… Sahkan Pemasangan

git --version # Output: git version 2.x.x
πŸ‘€
Langkah 2: Konfigurasi Awal Git
Set nama dan email untuk identiti commit
β–Ό

Git perlukan nama dan email untuk merekod siapa buat commit. Set sekali je:

# Ganti dengan nama dan email anda git config --global user.name "Nama Anda" git config --global user.email "email@anda.com" # Set default branch name ke "main" git config --global init.defaultBranch main # Semak konfigurasi git config --list
Penting: Guna email yang sama dengan akaun GitHub anda. Nanti GitHub boleh kaitkan commit dengan akaun anda.
πŸ™
Langkah 3: Buka Akaun GitHub
Daftar akaun GitHub percuma
β–Ό
  1. Buka github.com dan klik "Sign up"
  2. Masukkan email, password, dan username
  3. Verify email (check inbox/spam)
  4. Pilih plan percuma (Free)
  5. Selesai! Dah boleh guna GitHub
Tip: Guna username yang profesional β€” bakal majikan akan tengok GitHub anda!
πŸ“

Workflow Tempatan (Local)

Inisiasi repo, add, dan commit β€” nadi utama Git.

πŸ“‚
Mulakan Repositori Baru
git init β€” cipta repositori git dalam folder
β–Ό

Buka terminal dan navigasi ke folder projek anda:

# Buat folder projek baru mkdir projek-pertama cd projek-pertama # Init repositori git git init # Output: Initialized empty Git repository in .../projek-pertama/.git/

Apa jadi? Git cipta folder .git β€” tempat simpan semua data versi. Folder ni penting, jangan padam!

# Confirm folder .git wujud ls -la # Output: drwxr-xr-x .git
Ingat: git init hanya perlu sekali untuk setiap projek. Lepas ni terus guna git add dan git commit.
βž•
Stage Perubahan (git add)
git add β€” pilih perubahan yang nak disimpan
β–Ό

Sebelum "simpan" perubahan, kita perlu stage dia dulu:

# Cipta fail baru echo "# Projek Pertama" > README.md echo "node_modules/" > .gitignore # Check status git status # Output: Ada "Untracked files" β€” Git nampak fail baru # Stage fail tertentu git add README.md .gitignore # Atau stage semua fail sekali git add . # Check status lagi git status # Output: "Changes to be committed" β€” fail dah stage

🧠 Staging Area

"Staging area" atau "index" adalah ruang persediaan sebelum commit. Ibarat meja di dapur β€” korang letak bahan-bahan yang nak dimasak sebelum mula masak. Guna git add untuk letak bahan ke meja.

# Lepas edit fail, stage semula git add README.md # Nak keluarkan dari staging (undo add) git restore --staged README.md
πŸ’Ύ
Simpan Snapshot (git commit)
git commit β€” simpan snapshot tetap ke sejarah
β–Ό

Commit adalah "save point". Ia merakam apa yang ada di staging area pada masa itu.

# Commit dengan mesej ringkas git commit -m "commit pertama: tambah README dan gitignore" # Output: # [main (root-commit) abc1234] commit pertama: tambah README dan gitignore # 2 files changed, 2 insertions(+) # Semak sejarah commit git log # Output ringkas: git log --oneline # abc1234 (HEAD -> main) commit pertama: tambah README dan gitignore

✍️ Cara Tulis Mesej Commit

  • Guna Bahasa Melayu atau Inggeris β€” konsisten
  • Mesej ringkas tapi deskriptif (kurang 50 aksara)
  • Guna imperatif: "tambah", "baiki", "kemaskini"
  • Contoh baik: "tambah fungsi login", "baiki bug navbar", "kemaskini README"
  • Contoh tak baik: "update", "fixed", "aaa", "commit baru"
Ingat: Commit kecil dan kerap lebih baik dari commit besar dan jarang. Commit setiap kali satu unit logik selesai.
πŸ”„
Workflow Asas Git (Kitaran)
Kitaran asas: edit β†’ add β†’ commit β†’ ulang
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Edit │────▢│ git add │────▢│ git β”‚ β”‚ Fail β”‚ β”‚ (Stage) β”‚ β”‚ commit β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Sejarah β”‚ β”‚ Commit β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Edit fail dalam projek anda (code .)
  2. Stage perubahan yang nak disimpan (git add)
  3. Commit dengan mesej yang jelas (git commit -m "mesej")
  4. Ulang langkah 1-3 setiap kali ada perubahan logik
☁️

GitHub β€” Remote Repo & Push

Sambung repo tempatan ke GitHub dan hantar kod.

🌍
Cipta Repositori di GitHub
Buat repo kosong di GitHub.com
β–Ό
  1. Login ke github.com
  2. Klik ikon + di kanan atas β†’ "New repository"
  3. Masukkan nama repo (cth: projek-pertama)
  4. Tambah description (optional) β€” "Projek pertama saya belajar Git"
  5. Pilih Public (atau Private)
  6. JANGAN tick "Initialize this repository with a README" (sebab kita dah ada)
  7. Klik "Create repository"
Tip: Repo Public β€” semua orang boleh tengok. Sesuai untuk portfolio dan open source. Repo Private β€” hanya anda dan kolaborator jemputan.
πŸ“€
Push Kod ke GitHub
git remote add + git push
β–Ό

Lepas cipta repo di GitHub, akan nampak arahan. Guna yang ni:

# Sambung repo tempatan ke remote GitHub git remote add origin https://github.com/username/projek-pertama.git # Semak remote yang dah setup git remote -v # Output: # origin https://github.com/username/projek-pertama.git (fetch) # origin https://github.com/username/projek-pertama.git (push) # Push branch main ke GitHub git push -u origin main

Lepas ni, refresh GitHub β€” kod anda dah online!

πŸ“ Nota

  • origin β€” nama default untuk remote GitHub
  • -u (upstream) β€” set origin/main sebagai default untuk push/pull akan datang
  • Lepas guna -u sekali, kali seterusnya cukup git push je
Authentication: GitHub mungkin minta username/password atau token. Guna Personal Access Token (PAT) β€” Settings β†’ Developer settings β†’ Personal access tokens β†’ Tokens (classic).
πŸ“©
Clone Repo Dari GitHub
git clone β€” salin repo orang lain
β–Ό

Nak dapatkan repositori orang lain (atau repositori sendiri dari komputer lain):

# Dapatkan URL repo dari GitHub (butang Code β†’ HTTPS) git clone https://github.com/username/nama-repo.git # Masuk folder repo cd nama-repo # Dah sedia β€” semua sejarah commit pun ada!

🧠 git clone vs git init

  • git init β€” mula repo baru dari kosong
  • git clone β€” salin repo sedia ada (dah ada .git, remote, sejarah commit)
Tip: Guna git clone untuk dapatkan kod dari GitHub β€” dah siap dengan remote setup. Tak payah git remote add lagi.
🌿

Branch & Merge

Kerja dalam "dunia selari" dan gabungkan semula.

🌱
Apa Itu Branch?
Branch = cabang = dunia selari
β–Ό

Branch adalah cabang dari kod utama yang membolehkan anda:

  • Cuba feature baru tanpa risau rosakkan kod utama
  • Kerja dalam pasukan tanpa ganggu orang lain
  • Eksperimen dan kalau tak jadi, padam branch je
main: A───B───C───D───E β”‚ └───F───G───H ← feature-login (branch)

Titik C adalah tempat branch "feature-login" mula. Commit F, G, H berlaku dalam branch tu tanpa mengubah main. Bila feature dah siap, kita merge balik ke main.

πŸ”€
Cara Buat & Guna Branch
git branch, git checkout, git merge
β–Ό
# 1. Semak branch semasa git branch # * main (tanda * = branch aktif) # 2. Buat branch baru git branch feature-navbar # 3. Tukar ke branch baru git checkout feature-navbar # Atau satu langkah: git checkout -b feature-navbar # 4. Buat perubahan echo "nav { background: #333; }" > nav.css git add nav.css git commit -m "tambah navbar styling" # 5. Balik ke main git checkout main # 6. Merge branch feature-navbar ke main git merge feature-navbar # 7. Padam branch (kalau dah tak perlu) git branch -d feature-navbar

πŸ“‹ Naming Convention Branch

JenisFormatContoh
Featurefeature/namafeature/login-page
Bug Fixfix/namafix/navbar-height
Hot Fixhotfix/namahotfix/crash-login
Experimentexperiment/namaexperiment/new-api
βš”οΈ
Merge Conflict β€” Bila & Macam Mana
Bila dua branch ubah line sama, Git konfius
β–Ό

Merge conflict berlaku bila dua branch ubah line yang sama dalam fail yang sama. Git tak tahu mana satu nak simpan.

# Tanda conflict dalam fail: <<<<<<< HEAD Ini perubahan dari branch main ======= Ini perubahan dari branch feature-x >>>>>>> feature-x

πŸ”§ Cara Resolve Conflict

  1. Buka fail yang ada conflict (VS Code akan highlight)
  2. Pilih: guna Current Change (main), Incoming Change (branch), atau kedua-duanya
  3. Padam tanda <<<<<<<, =======, >>>>>>>
  4. Simpan fail
  5. git add nama-fail
  6. git commit β€” Git akan cipta merge commit
Ingat: Merge conflict bukan benda buruk! Ia bermakna Git terlalu jujur untuk pilih mana satu β€” biar korang decide sendiri. Normal dalam kolaborasi.
πŸ”„

Pull Request (PR)

Cara standard untuk kolaborasi β€” minta review sebelum merge.

πŸ“₯
Apa Itu Pull Request?
PR = permintaan untuk merge perubahan
β–Ό

Pull Request (PR) adalah permintaan rasmi untuk menggabungkan perubahan dari satu branch ke branch lain.

πŸ“‹ Proses PR

  1. Buat branch dari main β€” git checkout -b feature-anda
  2. Buat perubahan dan commit β€” git add && git commit
  3. Push branch ke GitHub β€” git push -u origin feature-anda
  4. Buka GitHub β†’ klik "Compare & pull request"
  5. Tulis diskripsi β€” apa yang anda ubah dan kenapa
  6. Assign reviewer β€” minta orang lain semak
  7. Review β€” reviewer bagi komen, approve, atau minta perubahan
  8. Merge β€” klik "Merge pull request"
Best Practice: Buat PR awal-awal (draft PR) dan tulis "WIP: " kat title. Bila dah siap, tukar ke "Ready for review".
πŸ‘οΈ
Cara Review & Merge PR
Sebagai reviewer β€” semak kod, komen, approve
β–Ό

πŸ‘€ Sebagai Reviewer

  1. Buka PR di GitHub β†’ tab "Files changed"
  2. Baca setiap perubahan β€” fokus pada logic, bukan styling
  3. Klik line tertentu untuk tinggalkan komen
  4. Klik "Review changes" β†’ pilih:
    β€” Comment: feedback biasa
    β€” Approve: setuju, boleh merge
    β€” Request changes: ada yang perlu dibaiki

πŸ”€ Sebagai Penggabung

# Lepas approve, ada 3 pilihan merge: 1. Create a merge commit β€” standard (simpan semua commit) 2. Squash and merge β€” satukan semua commit jadi satu 3. Rebase and merge β€” sejarah linear, tanpa merge commit

Untuk pemula, guna "Create a merge commit" je dulu.

🎫

GitHub Issues

Tracking bugs, feature requests, dan tugas.

πŸ“Œ
Buat & Urus Isu
Issues = sistem tracking untuk projek
β–Ό

Issues digunakan untuk track segala yang perlu dibuat β€” bug, feature, improvement, tugas.

πŸ“ Cara Buat Isu

  1. Buka repo di GitHub β†’ tab "Issues" β†’ "New issue"
  2. Tulis Title yang jelas: "Login button tak responsive di mobile"
  3. Tulis Description:
    β€” Apa yang berlaku
    β€” Langkah untuk reproduce (kalau bug)
    β€” Apa yang sepatutnya berlaku
    β€” Screenshot (kalau ada)
  4. Assign Labels: bug, enhancement, documentation, etc.
  5. Assign Assignee β€” siapa yang akan selesaikan
  6. Assign Project β€” kalau guna GitHub Projects
  7. Klik "Submit new issue"

πŸ”— Auto-Close Isu dengan Commit

# Dalam mesej commit, guna keyword ni: git commit -m "baiki button login responsive di mobile Fixes #12"

Bila PR ni di-merge ke main, isu #12 akan auto close. Keyword lain: Closes #, Resolves #, Fixes #.

Best Practice: Guna templates untuk issue β€” GitHub ada fitur "Issue templates". Pelajar akan lebih konsisten cara lapor.
πŸ€–

GitHub MCP dalam Claude Code

Guna kuasa AI untuk urus GitHub terus dari terminal.

πŸ”Œ
Apa Itu GitHub MCP?
MCP = Model Context Protocol β€” sambung Claude ke GitHub
β–Ό

GitHub MCP (Model Context Protocol) adalah plugin yang membolehkan Claude Code berinteraksi dengan GitHub API secara langsung.

Apa Yang Boleh Dibuat?

  • Melihat dan mengurus Pull Request
  • Membuat code review automatik
  • Mengurus Issues (buat, tutup, assign)
  • Menyemak status CI/CD
  • Membaca kod dalam PR tanpa buka GitHub
πŸ”
Cara Setup GitHub MCP
Satu kali setup, lepas tu terus guna
β–Ό
  1. Buka Claude Code dalam terminal
  2. Taip: Guna GitHub MCP untuk authenticate
  3. Claude akan jalankan mcp__github__authenticate
  4. Ikut arahan OAuth β€” login ke akaun GitHub
  5. Selesai! Dah boleh guna GitHub MCP
Alternatif: Kalau OAuth tak jalan, guna gh auth login di terminal β€” Claude akan detect token yang dah ada.
πŸ’¬
Contoh Penggunaan GitHub MCP
Arahan yang boleh anda beri kepada Claude
β–Ό

πŸ“‹ Contoh Prompt

"Semak pull request #5 dalam repo ini dan bagi ringkasan perubahan yang dibuat."
"Buat issue baru dengan title 'Tambah dark mode' dan description: 'Pengguna minta dark mode untuk aplikasi. Sila tambah CSS variables untuk warna gelap.'"
"Review PR #3 dan senaraikan 1. Apa yang berubah 2. Isu keselamatan yang mungkin 3. Cadangan penambahbaikan"
"List semua open issues yang berlabel 'bug' dan assign kepada saya."
Power Move: Guna GitHub MCP + Sequential Thinking untuk buat code review yang mendalam β€” Claude akan analisis PR langkah demi langkah.
🀝

Kolaborasi: Fork β†’ Clone β†’ PR β†’ Merge

Workflow lengkap kolaborasi open source.

🍴
Fork & Clone
Salin repo orang lain ke akaun GitHub anda
β–Ό

Fork = salin repositori orang lain ke akaun GitHub sendiri. Clone = salin ke komputer tempatan.

# 1. Buka repo GitHub orang lain # 2. Klik butang "Fork" di kanan atas # 3. Pilih akaun sendiri β†’ "Create fork" # 4. Clone fork anda ke komputer git clone https://github.com/username/nama-repo.git cd nama-repo # 5. Setup upstream (repo asal) untuk sync perubahan git remote add upstream https://github.com/original-owner/nama-repo.git # 6. Semak remote git remote -v # origin β†’ fork anda # upstream β†’ repo asal
Ingat: Fork berbeza dengan branch. Fork adalah salinan penuh repo di GitHub. Branch adalah cabang dalam repo yang sama.
πŸ”„
Workflow Kolaborasi Lengkap
Dari fork hingga PR di-merge
β–Ό
1. Fork repo (GitHub) β”‚ 2. Clone fork (git clone) β”‚ 3. Buat branch (git checkout -b feature) β”‚ 4. Edit & commit (git add + git commit) β”‚ 5. Push branch ke fork (git push -u origin feature) β”‚ 6. Buka Pull Request (GitHub) β”‚ 7. PR review & discussion (GitHub) β”‚ 8. Merge PR (GitHub β€” maintainer) β”‚ 9. Sync fork dengan upstream (git pull upstream main) β”‚ 10. Padam branch (git branch -d feature)

πŸ“ Nota Penting

  • Jangan guna main branch untuk buat perubahan β€” guna branch feature
  • Sync fork selalu β€” git pull upstream main
  • Commit message yang baik memudahkan reviewer
  • Jangan takut feedback β€” PR review adalah peluang belajar
πŸ“–

Case Studies β€” Git & GitHub dalam Aksi Sebenar

Dua senario dunia sebenar yang menunjukkan kuasa Git dan GitHub dalam pembangunan.

🌐
Case 1: Portfolio di GitHub Pages
Deploy portfolio peribadi dengan auto-deploy via GitHub Actions
β–Ό

🎯 Senario

Anda telah membina portfolio peribadi dalam Fasa 5 (HTML/CSS). Sekarang, anda mahu ia boleh diakses oleh dunia β€” secara percuma dan profesional.

πŸ“‹ Langkah-langkah

  1. Buat repo GitHub baru: username.github.io (Public)
  2. Clone repo ke komputer tempatan: git clone https://github.com/username/username.github.io.git
  3. Salin semua portfolio code (HTML, CSS, JS) ke folder repo
  4. Commit dan push: git add . && git commit -m "deploy: portfolio v1" && git push
  5. Buka GitHub repo β†’ Settings β†’ Pages β†’ Pilih branch main β†’ Save
  6. Tunggu 1-2 minit β€” portfolio anda akan live di https://username.github.io

⚑ Auto-Deploy dengan GitHub Actions

Setiap kali anda push perubahan, GitHub Actions boleh deploy semula portfolio secara automatik:

# Buat fail: .github/workflows/deploy.yml name: Deploy Portfolio on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: .

βœ… Hasil

  • Portfolio anda live 24/7 β€” percuma
  • Setiap git push = auto-deploy (melalui GitHub Actions)
  • URL profesional: username.github.io
  • Boleh dikongsi dalam resume dan LinkedIn
  • Majikan boleh lihat kod portfolio terus di GitHub
Power Tip: Tambah domain kustom (cth: namasaya.com) di GitHub Pages settings untuk portofolio yang lebih profesional.
πŸ‘₯
Case 2: Collaboration Dua Pelajar
Pair-programming dengan branch, PR, dan resolve konflik
β–Ό

🎯 Senario

Pelajar A dan Pelajar B sedang membina halaman web mudah untuk projek kelas. Mereka menggunakan workflow branch + Pull Request β€” macam pasukan developer sebenar.

πŸ‘€ Pelajar A β€” Membina Feature

  1. Clone repo bersama: git clone https://github.com/projek-kelas/laman-web.git
  2. Buat branch baru: git checkout -b feature-header
  3. Bina header komponen dalam header.html dan style.css
  4. Commit: git add . && git commit -m "feat: add responsive header"
  5. Push: git push -u origin feature-header
  6. Buka Pull Request ke branch main
  7. Assign Pelajar B sebagai reviewer

πŸ‘€ Pelajar B β€” Review & Merge

  1. Buka PR di GitHub β†’ tab "Files changed"
  2. Review kod β€” tinggalkan komen:
    β€” "Bagus! Maybe tambah alt text pada logo?"
    β€” "CSS ni responsive ke untuk mobile?"
  3. Pelajar A baiki berdasarkan feedback β€” commit tambahan muncul automatik dalam PR
  4. Pelajar B approve PR: "Review changes" β†’ "Approve"
  5. Merge PR: "Merge pull request" β†’ "Confirm merge"

βš”οΈ Bonus: Konflik & Resolve

Bayangkan Pelajar A dan B dua-dua edit baris yang sama dalam index.html. Bila PR nak di-merge, GitHub akan bagitahu ada merge conflict.

# Tanda conflict dalam fail: <<<<<<< feature-header

Selamat Datang ke Projek Kami

=======

Welcome to Our Project

>>>>>>> main
  1. Pelajar B (atau A) buka fail yang conflict di editor
  2. Pilih versi mana nak simpan β€” atau gabungkan kedua-duanya
  3. Padam tanda <<<<<<<, =======, >>>>>>>
  4. git add index.html
  5. git commit -m "resolve conflict: gabung header EN dan BM"
  6. Push dan merge

βœ… Hasil Pembelajaran

  • Kedua-dua pelajar faham workflow branch + PR
  • Mereka alami sendiri proses code review β€” bukan sekadar teori
  • Mereka belajar resolve konflik β€” kemahiran yang sangat diperlukan di industri
  • Komunikasi pasukan bertambah baik melalui review comments
  • Mereka bersedia untuk kerja pasukan sebenar
Ingat: Konflik bukan kegagalan. Ia normal dalam kolaborasi. Yang penting adalah cara anda selesaikannya β€” dengan komunikasi dan kerjasama.