Pelajari Git dan GitHub langkah demi langkah. Dari apa itu Git, hingga guna GitHub MCP dalam Claude Code. Ikut mengikut kadar anda sendiri.
Apa yang bakal anda capai β dan kenapa ia penting untuk kerjaya anda.
GitHub adalah 'Instagram untuk developer'. Ia tempat anda simpan kod, tunjuk portfolio, dan bekerjasama dengan orang lain.
Selepas fasa ini, anda akan ada:
Konsep asas yang perlu difahami sebelum mula.
Git adalah alat yang merakam setiap perubahan pada kod anda. Ianya seperti "mesin masa" untuk folder projek anda.
GitHub adalah perkhidmatan hosting untuk repositori Git. Ianya seperti "Google Drive untuk kod" tetapi dengan superpowers kolaborasi.
Persediaan awal sebelum guna Git dan GitHub.
Git perlukan nama dan email untuk merekod siapa buat commit. Set sekali je:
Inisiasi repo, add, dan commit β nadi utama Git.
Buka terminal dan navigasi ke folder projek anda:
Apa jadi? Git cipta folder .git β tempat simpan semua data versi. Folder ni penting, jangan padam!
git init hanya perlu sekali untuk setiap projek. Lepas ni terus guna git add dan git commit.Sebelum "simpan" perubahan, kita perlu stage dia dulu:
"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.
Commit adalah "save point". Ia merakam apa yang ada di staging area pada masa itu.
Sambung repo tempatan ke GitHub dan hantar kod.
Lepas cipta repo di GitHub, akan nampak arahan. Guna yang ni:
Lepas ni, refresh GitHub β kod anda dah online!
origin β nama default untuk remote GitHub-u (upstream) β set origin/main sebagai default untuk push/pull akan datang-u sekali, kali seterusnya cukup git push jeNak dapatkan repositori orang lain (atau repositori sendiri dari komputer lain):
git clone untuk dapatkan kod dari GitHub β dah siap dengan remote setup. Tak payah git remote add lagi.Kerja dalam "dunia selari" dan gabungkan semula.
Branch adalah cabang dari kod utama yang membolehkan anda:
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.
| Jenis | Format | Contoh |
|---|---|---|
| Feature | feature/nama | feature/login-page |
| Bug Fix | fix/nama | fix/navbar-height |
| Hot Fix | hotfix/nama | hotfix/crash-login |
| Experiment | experiment/nama | experiment/new-api |
Merge conflict berlaku bila dua branch ubah line yang sama dalam fail yang sama. Git tak tahu mana satu nak simpan.
<<<<<<<, =======, >>>>>>>Cara standard untuk kolaborasi β minta review sebelum merge.
Pull Request (PR) adalah permintaan rasmi untuk menggabungkan perubahan dari satu branch ke branch lain.
Untuk pemula, guna "Create a merge commit" je dulu.
Tracking bugs, feature requests, dan tugas.
Issues digunakan untuk track segala yang perlu dibuat β bug, feature, improvement, tugas.
Bila PR ni di-merge ke main, isu #12 akan auto close. Keyword lain: Closes #, Resolves #, Fixes #.
Guna kuasa AI untuk urus GitHub terus dari terminal.
GitHub MCP (Model Context Protocol) adalah plugin yang membolehkan Claude Code berinteraksi dengan GitHub API secara langsung.
Workflow lengkap kolaborasi open source.
Fork = salin repositori orang lain ke akaun GitHub sendiri. Clone = salin ke komputer tempatan.
git pull upstream mainDua senario dunia sebenar yang menunjukkan kuasa Git dan GitHub dalam pembangunan.
Anda telah membina portfolio peribadi dalam Fasa 5 (HTML/CSS). Sekarang, anda mahu ia boleh diakses oleh dunia β secara percuma dan profesional.
username.github.io (Public)git clone https://github.com/username/username.github.io.gitgit add . && git commit -m "deploy: portfolio v1" && git pushhttps://username.github.ioSetiap kali anda push perubahan, GitHub Actions boleh deploy semula portfolio secara automatik:
username.github.ionamasaya.com) di GitHub Pages settings untuk portofolio yang lebih profesional.Pelajar A dan Pelajar B sedang membina halaman web mudah untuk projek kelas. Mereka menggunakan workflow branch + Pull Request β macam pasukan developer sebenar.
git clone https://github.com/projek-kelas/laman-web.gitgit checkout -b feature-headerheader.html dan style.cssgit add . && git commit -m "feat: add responsive header"git push -u origin feature-headeralt text pada logo?"
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.
<<<<<<<, =======, >>>>>>>