18 KiB
Pengenalan kepada GitHub
Pelajaran ini merangkumi asas GitHub, sebuah platform untuk menghoskan dan mengurus perubahan pada kod anda.
Sketchnote oleh Tomomi Imura
Kuiz Pra-Kuliah
Pengenalan
Dalam pelajaran ini, kita akan membincangkan:
- menjejaki kerja yang anda lakukan pada mesin anda
- bekerja pada projek bersama orang lain
- cara menyumbang kepada perisian sumber terbuka
Prasyarat
Sebelum anda bermula, anda perlu memeriksa sama ada Git telah dipasang. Dalam terminal taip:
git --version
Jika Git belum dipasang, muat turun Git. Kemudian, tetapkan profil Git tempatan anda dalam terminal:
git config --global user.name "nama-anda"
git config --global user.email "emel-anda"
Untuk memeriksa sama ada Git telah dikonfigurasi, anda boleh taip:
git config --list
Anda juga memerlukan akaun GitHub, editor kod (seperti Visual Studio Code), dan anda perlu membuka terminal anda (atau: command prompt).
Navigasi ke github.com dan buat akaun jika anda belum ada, atau log masuk dan lengkapkan profil anda.
✅ GitHub bukan satu-satunya repositori kod di dunia; terdapat yang lain, tetapi GitHub adalah yang paling terkenal.
Persediaan
Anda memerlukan folder dengan projek kod pada mesin tempatan anda (laptop atau PC), dan repositori awam di GitHub, yang akan berfungsi sebagai contoh bagaimana untuk menyumbang kepada projek orang lain.
Pengurusan Kod
Katakan anda mempunyai folder secara tempatan dengan projek kod dan anda ingin mula menjejaki kemajuan anda menggunakan git - sistem kawalan versi. Sesetengah orang membandingkan penggunaan git dengan menulis surat cinta kepada diri anda di masa depan. Membaca mesej commit anda beberapa hari, minggu, atau bulan kemudian akan membantu anda mengingati mengapa anda membuat keputusan tertentu, atau "rollback" perubahan - iaitu, apabila anda menulis mesej commit yang baik.
Tugasan: Buat repositori dan commit kod
Tonton video
-
Buat repositori di GitHub. Di GitHub.com, dalam tab repositori, atau dari bar navigasi di bahagian atas kanan, cari butang new repo.
- Berikan nama kepada repositori (folder) anda.
- Pilih create repository.
-
Navigasi ke folder kerja anda. Dalam terminal anda, beralih ke folder (juga dikenali sebagai direktori) yang anda ingin mula jejaki. Taip:
cd [name of your folder]
-
Inisialisasi repositori git. Dalam projek anda, taip:
git init
-
Periksa status. Untuk memeriksa status repositori anda, taip:
git status
outputnya mungkin kelihatan seperti ini:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file.txt modified: file2.txt
Biasanya, arahan
git status
memberitahu anda perkara seperti fail mana yang sedia untuk disimpan ke repositori atau mempunyai perubahan yang mungkin anda ingin kekalkan. -
Tambah semua fail untuk penjejakan Ini juga dikenali sebagai memuatkan fail/memasukkan fail ke kawasan staging.
git add .
Argumen
git add
ditambah dengan.
menunjukkan bahawa semua fail & perubahan anda untuk penjejakan. -
Tambah fail terpilih untuk penjejakan
git add [file or folder name]
Ini membantu kita menambah hanya fail terpilih ke kawasan staging apabila kita tidak mahu commit semua fail sekaligus.
-
Batalkan pemuatan semua fail
git reset
Arahan ini membantu kita membatalkan pemuatan semua fail sekaligus.
-
Batalkan pemuatan fail tertentu
git reset [file or folder name]
Arahan ini membantu kita membatalkan pemuatan hanya fail tertentu sekaligus yang kita tidak mahu sertakan untuk commit seterusnya.
-
Kekalkan kerja anda. Pada ketika ini anda telah menambah fail ke kawasan yang dipanggil staging area. Tempat di mana Git menjejaki fail anda. Untuk menjadikan perubahan kekal, anda perlu commit fail tersebut. Untuk melakukannya, anda membuat commit dengan arahan
git commit
. Commit mewakili titik simpanan dalam sejarah repositori anda. Taip arahan berikut untuk membuat commit:git commit -m "first commit"
Ini akan commit semua fail anda, dengan mesej "first commit". Untuk mesej commit masa depan, anda akan mahu lebih deskriptif dalam penerangan anda untuk menyampaikan jenis perubahan yang telah anda buat.
-
Sambungkan repositori Git tempatan anda dengan GitHub. Repositori Git adalah baik pada mesin anda tetapi pada satu ketika anda ingin mempunyai sandaran fail anda di tempat lain dan juga menjemput orang lain untuk bekerja dengan anda pada repositori anda. Salah satu tempat yang hebat untuk melakukannya ialah GitHub. Ingat kita telah membuat repositori di GitHub jadi satu-satunya perkara yang perlu kita lakukan ialah menyambungkan repositori Git tempatan kita dengan GitHub. Arahan
git remote add
akan melakukannya. Taip arahan berikut:Nota, sebelum anda taip arahan pergi ke halaman repositori GitHub anda untuk mencari URL repositori. Anda akan menggunakannya dalam arahan di bawah. Gantikan
https://github.com/username/repository_name.git
dengan URL GitHub anda.git remote add origin https://github.com/username/repository_name.git
Ini mencipta remote, atau sambungan, bernama "origin" yang menunjuk kepada repositori GitHub yang anda buat sebelum ini.
-
Hantar fail tempatan ke GitHub. Setakat ini anda telah mencipta sambungan antara repositori tempatan dan repositori GitHub. Mari hantar fail ini ke GitHub dengan arahan
git push
, seperti berikut:Nota, nama cawangan anda mungkin berbeza secara lalai daripada
main
.git push -u origin main
Ini menghantar commit anda dalam cawangan "main" anda ke GitHub.
-
Untuk menambah lebih banyak perubahan. Jika anda ingin terus membuat perubahan dan menghantarnya ke GitHub, anda hanya perlu menggunakan tiga arahan berikut:
git add . git commit -m "type your commit message here" git push
Tip, Anda mungkin juga ingin menggunakan fail
.gitignore
untuk mengelakkan fail yang anda tidak mahu jejaki daripada muncul di GitHub - seperti fail nota yang anda simpan dalam folder yang sama tetapi tidak sesuai untuk repositori awam. Anda boleh mencari templat untuk fail.gitignore
di .gitignore templates.
Mesej Commit
Baris subjek commit Git yang hebat melengkapkan ayat berikut: Jika digunakan, commit ini akan
Untuk subjek, gunakan bentuk imperatif, masa kini: "ubah" bukan "diubah" atau "mengubah".
Seperti dalam subjek, dalam badan (pilihan) juga gunakan bentuk imperatif, masa kini. Badan harus merangkumi motivasi untuk perubahan dan bandingkan ini dengan tingkah laku sebelumnya. Anda menerangkan mengapa
, bukan bagaimana
.
✅ Luangkan beberapa minit untuk melayari GitHub. Bolehkah anda menemui mesej commit yang sangat hebat? Bolehkah anda menemui yang sangat minimal? Apakah maklumat yang anda fikir paling penting dan berguna untuk disampaikan dalam mesej commit?
Tugasan: Bekerjasama
Sebab utama meletakkan perkara di GitHub adalah untuk memungkinkan kerjasama dengan pembangun lain.
Bekerja pada projek bersama orang lain
Tonton video
Dalam repositori anda, navigasi ke Insights > Community
untuk melihat bagaimana projek anda dibandingkan dengan piawaian komuniti yang disyorkan.
Berikut adalah beberapa perkara yang boleh meningkatkan repositori GitHub anda:
- Deskripsi. Adakah anda menambah deskripsi untuk projek anda?
- README. Adakah anda menambah README? GitHub menyediakan panduan untuk menulis README.
- Panduan penyumbangan. Adakah projek anda mempunyai panduan penyumbangan,
- Kod Etika. Kod Etika,
- Lesen. Mungkin yang paling penting, lesen?
Semua sumber ini akan memberi manfaat kepada onboarding ahli pasukan baru. Dan ini biasanya perkara yang dilihat oleh penyumbang baru sebelum melihat kod anda, untuk mengetahui sama ada projek anda adalah tempat yang sesuai untuk mereka meluangkan masa.
✅ Fail README, walaupun memerlukan masa untuk disediakan, sering diabaikan oleh penyelenggara yang sibuk. Bolehkah anda menemui contoh yang sangat deskriptif? Nota: terdapat beberapa alat untuk membantu mencipta README yang baik yang mungkin anda ingin cuba.
Tugasan: Gabungkan kod
Dokumen penyumbangan membantu orang menyumbang kepada projek. Ia menerangkan jenis sumbangan yang anda cari dan bagaimana prosesnya berfungsi. Penyumbang perlu melalui beberapa langkah untuk dapat menyumbang kepada repositori anda di GitHub:
- Fork repositori anda Anda mungkin mahu orang fork projek anda. Fork bermaksud mencipta replika repositori anda pada profil GitHub mereka.
- Clone. Dari situ mereka akan clone projek ke mesin tempatan mereka.
- Buat cawangan. Anda akan mahu meminta mereka membuat cawangan untuk kerja mereka.
- Fokuskan perubahan mereka pada satu kawasan. Minta penyumbang untuk menumpukan sumbangan mereka pada satu perkara pada satu masa - dengan cara itu peluang untuk anda merge kerja mereka adalah lebih tinggi. Bayangkan mereka menulis pembaikan bug, menambah ciri baru, dan mengemas kini beberapa ujian - bagaimana jika anda mahu, atau hanya boleh melaksanakan 2 daripada 3, atau 1 daripada 3 perubahan?
✅ Bayangkan situasi di mana cawangan sangat kritikal untuk menulis dan menghantar kod yang baik. Apakah kes penggunaan yang boleh anda fikirkan?
Nota, jadilah perubahan yang anda ingin lihat di dunia, dan buat cawangan untuk kerja anda sendiri juga. Sebarang commit yang anda buat akan dibuat pada cawangan yang anda sedang "checked out". Gunakan
git status
untuk melihat cawangan mana itu.
Mari kita lalui aliran kerja penyumbang. Anggap penyumbang telah fork dan clone repositori jadi mereka mempunyai repositori Git yang sedia untuk digunakan, pada mesin tempatan mereka:
-
Buat cawangan. Gunakan arahan
git branch
untuk membuat cawangan yang akan mengandungi perubahan yang mereka maksudkan untuk disumbangkan:git branch [branch-name]
-
Beralih ke cawangan kerja. Beralih ke cawangan yang ditentukan dan kemas kini direktori kerja dengan
git switch
:git switch [branch-name]
-
Lakukan kerja. Pada ketika ini anda ingin menambah perubahan anda. Jangan lupa untuk memberitahu Git mengenainya dengan arahan berikut:
git add . git commit -m "my changes"
Pastikan anda memberikan commit anda nama yang baik, untuk kebaikan anda serta penyelenggara repositori yang anda bantu.
-
Gabungkan kerja anda dengan cawangan
main
. Pada satu ketika anda selesai bekerja dan anda ingin menggabungkan kerja anda dengan cawanganmain
. Cawanganmain
mungkin telah berubah sementara itu jadi pastikan anda mengemas kini terlebih dahulu kepada yang terkini dengan arahan berikut:git switch main git pull
Pada ketika ini anda ingin memastikan bahawa sebarang konflik, situasi di mana Git tidak dapat dengan mudah menggabungkan perubahan berlaku dalam cawangan kerja anda. Oleh itu jalankan arahan berikut:
git switch [branch_name] git merge main
Ini akan membawa semua perubahan dari
main
ke dalam cawangan anda dan semoga anda boleh teruskan. Jika tidak, VS Code akan memberitahu anda di mana Git keliru dan anda hanya mengubah fail yang terjejas untuk mengatakan kandungan mana yang paling tepat. -
Hantar kerja anda ke GitHub. Menghantar kerja anda ke GitHub bermaksud dua perkara. Menolak cawangan anda ke repositori anda dan kemudian membuka PR, Pull Request.
git push --set-upstream origin [branch-name]
Arahan di atas mencipta cawangan pada repositori fork anda.
-
Buka PR. Seterusnya, anda ingin membuka PR. Anda melakukannya dengan menavigasi ke repositori fork di GitHub. Anda akan melihat petunjuk di GitHub di mana ia bertanya sama ada anda ingin mencipta PR baru, anda klik itu dan anda dibawa ke antara muka di mana anda boleh menukar tajuk mesej commit, memberikannya deskripsi yang lebih sesuai. Sekarang penyelenggara repositori yang anda fork akan melihat PR ini dan semoga mereka menghargai dan merge PR anda. Anda kini seorang penyumbang, yay :)
-
Bersihkan. Ia dianggap amalan yang baik untuk membersihkan selepas anda berjaya merge PR. Anda ingin membersihkan kedua-dua cawangan tempatan anda dan cawangan yang anda tolak ke GitHub. Pertama mari kita hapuskannya secara tempatan dengan arahan berikut:
git branch -d [branch-name]
Pastikan anda pergi ke halaman GitHub untuk repositori fork dan hapuskan cawangan jauh yang baru sahaja anda tolak ke sana.
Pull request
kelihatan seperti istilah yang pelik kerana sebenarnya anda ingin menolak (push) perubahan anda ke dalam projek. Tetapi penyelenggara (pemilik projek) atau pasukan teras perlu mempertimbangkan perubahan anda sebelum menggabungkannya dengan cawangan "main" projek, jadi sebenarnya anda sedang meminta keputusan perubahan daripada penyelenggara.
Pull request
adalah tempat untuk membandingkan dan membincangkan perbezaan yang diperkenalkan pada cawangan dengan ulasan, komen, ujian yang diintegrasikan, dan banyak lagi. Pull request
yang baik mengikuti peraturan yang hampir sama seperti mesej commit. Anda boleh menambah rujukan kepada isu dalam penjejak isu, contohnya apabila kerja anda menyelesaikan sesuatu isu. Ini dilakukan dengan menggunakan #
diikuti dengan nombor isu anda. Sebagai contoh, #97
.
🤞Semoga semua semakan lulus dan pemilik projek menggabungkan perubahan anda ke dalam projek🤞
Kemas kini cawangan kerja tempatan anda dengan semua commit baru dari cawangan jauh yang sepadan di GitHub:
git pull
Cara menyumbang kepada sumber terbuka
Pertama, mari kita cari repositori (atau repo) di GitHub yang menarik minat anda dan yang anda ingin sumbangkan perubahan. Anda perlu menyalin kandungannya ke mesin anda.
✅ Cara yang baik untuk mencari repo yang 'mesra pemula' adalah dengan mencari menggunakan tag 'good-first-issue'.
Terdapat beberapa cara untuk menyalin kod. Salah satu caranya adalah dengan "mengklon" kandungan repositori, menggunakan HTTPS, SSH, atau menggunakan GitHub CLI (Command Line Interface).
Buka terminal anda dan klon repositori seperti berikut:
git clone https://github.com/ProjectURL
Untuk bekerja pada projek, tukar ke folder yang betul:
cd ProjectURL
Anda juga boleh membuka keseluruhan projek menggunakan Codespaces, editor kod terbenam GitHub / persekitaran pembangunan awan, atau GitHub Desktop.
Akhir sekali, anda boleh memuat turun kod dalam folder zip.
Beberapa perkara menarik tentang GitHub
Anda boleh memberi bintang, menonton, dan/atau "fork" mana-mana repositori awam di GitHub. Anda boleh mencari repositori yang anda bintangi di menu drop-down di bahagian atas kanan. Ia seperti menanda buku, tetapi untuk kod.
Projek mempunyai penjejak isu, kebanyakannya di GitHub dalam tab "Issues" kecuali dinyatakan sebaliknya, di mana orang membincangkan isu berkaitan projek. Dan tab Pull Requests adalah tempat orang membincangkan dan menyemak perubahan yang sedang dalam proses.
Projek mungkin juga mempunyai perbincangan dalam forum, senarai mel, atau saluran sembang seperti Slack, Discord, atau IRC.
✅ Lihat-lihat repo GitHub baru anda dan cuba beberapa perkara, seperti mengedit tetapan, menambah maklumat ke repo anda, dan mencipta projek (seperti papan Kanban). Terdapat banyak yang boleh anda lakukan!
🚀 Cabaran
Berpasangan dengan rakan untuk bekerja pada kod masing-masing. Cipta projek secara kolaboratif, fork kod, cipta cawangan, dan gabungkan perubahan.
Kuiz Selepas Kuliah
Ulasan & Kajian Kendiri
Baca lebih lanjut tentang menyumbang kepada perisian sumber terbuka.
Berlatih, berlatih, berlatih. GitHub mempunyai laluan pembelajaran yang hebat melalui skills.github.com:
Anda juga akan menemui kursus yang lebih maju.
Tugasan
Lengkapkan kursus Minggu Pertama di GitHub
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.