18 KiB
Pengenalan kepada GitHub
Pelajaran ini merangkumi asas GitHub, sebuah platform untuk menghos 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 melakukannya, 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 komit anda beberapa hari, minggu, atau bulan kemudian, anda akan dapat mengingat mengapa anda membuat keputusan, atau "rollback" perubahan - iaitu, apabila anda menulis mesej komit yang baik.
Tugasan: Buat repositori dan komit 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 anda (folder)
- Pilih create repository.
-
Navigasi ke folder kerja anda. Dalam terminal anda, tukar 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 boleh 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 dipanggil sebagai fail pementasan/menambah fail ke kawasan pementasan.
git add .
Argumen
git add
ditambah.
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 pementasan apabila kita tidak mahu komit semua fail sekaligus.
-
Batalkan pementasan semua fail
git reset
Arahan ini membantu kita membatalkan pementasan semua fail sekaligus.
-
Batalkan pementasan fail tertentu
git reset [file or folder name]
Arahan ini membantu kita membatalkan pementasan hanya fail tertentu sekaligus yang kita tidak mahu sertakan untuk komit 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
. Komit mewakili titik simpanan dalam sejarah repositori anda. Taip arahan berikut untuk membuat commit:git commit -m "first commit"
Ini mengkomit semua fail anda, dengan mesej "first commit". Untuk mesej komit 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 suatu tempat 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 menaip 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 connection antara repositori tempatan dan repositori GitHub. Mari hantar fail ini ke GitHub dengan arahan berikut
git push
, seperti ini:Nota, nama cawangan anda mungkin berbeza secara lalai daripada
main
.git push -u origin main
Ini menghantar komit 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 Komit
Baris subjek komit Git yang hebat melengkapkan ayat berikut: Jika digunakan, komit 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 komit yang sangat hebat? Bolehkah anda menemui yang sangat minimal? Maklumat apa yang anda fikir paling penting dan berguna untuk disampaikan dalam mesej komit?
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 mereka.
✅ 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 branch 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 komit 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 forked dan cloned 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]
-
Tukar ke cawangan kerja. Tukar 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 komit 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 conflicts, situasi di mana Git tidak dapat dengan mudah combine perubahan berlaku dalam cawangan kerja anda. Oleh itu jalankan arahan berikut:
git switch [branch_name] git merge main
Ini akan membawa masuk 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 yang telah anda fork.
-
Buka PR. Seterusnya, anda ingin membuka PR. Anda melakukannya dengan menavigasi ke repositori yang telah anda 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 komit, memberikan penerangan yang lebih sesuai. Sekarang penyelenggara repositori yang anda fork akan melihat PR ini dan fingers crossed mereka akan menghargai dan merge PR anda. Anda kini seorang penyumbang, yay :)
-
Bersihkan. Ia dianggap amalan yang baik untuk bersihkan selepas anda berjaya menggabungkan 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 repo yang telah di-fork dan hapus cawangan jauh yang baru sahaja anda tolak ke sana.
Pull request
nampaknya seperti istilah yang kurang sesuai kerana sebenarnya anda ingin menolak perubahan anda ke projek tersebut. Tetapi penyelenggara (pemilik projek) atau pasukan teras perlu mempertimbangkan perubahan anda sebelum menggabungkannya dengan cawangan "utama" projek, jadi anda sebenarnya meminta keputusan perubahan daripada penyelenggara.
Pull request adalah tempat untuk membandingkan dan membincangkan perbezaan yang diperkenalkan pada cawangan dengan ulasan, komen, ujian yang terintegrasi, 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 pemeriksaan 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 ingin anda 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 cara adalah "clone" kandungan repositori, menggunakan HTTPS, SSH, atau menggunakan GitHub CLI (Command Line Interface).
Buka terminal anda dan clone repositori seperti ini:
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 yang telah dimampatkan (zipped).
Beberapa perkara menarik tentang GitHub
Anda boleh memberi bintang, menonton, dan/atau "fork" mana-mana repositori awam di GitHub. Anda boleh mencari repositori yang telah anda bintangi dalam menu drop-down di bahagian atas kanan. Ia seperti penanda 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 mengulas perubahan yang sedang berlangsung.
Projek mungkin juga mempunyai perbincangan dalam forum, senarai mel, atau saluran sembang seperti Slack, Discord atau IRC.
✅ Lihat sekeliling repo GitHub baru anda dan cuba beberapa perkara, seperti mengedit tetapan, menambah maklumat kepada 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 tersedia 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 perhatian 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.