Pelajaran ini merangkumi pengetahuan asas tentang GitHub, dan adalah salah satu platform untuk menjadi tuan rumah dan menguruskan perubahan pada kod anda.
Sketchnote by Tomomi Imura
Dalam pelajaran ini, kita akan belajar tentang:
Sebelum bermula, anda perlu memeriksa sama ada Git dipasang dalam komputer anda. Dalam terminal menaip:
git --version
Sekiranya Git tidak dipasang, memuat turun Git. Kemudian, siapkan profil Git anda di terminal:
git config --global user.name "your-name"
git config --global user.email "your-email"
Untuk memeriksa sama ada Git sudah dikonfigurasi, anda boleh menaip:
git config --list
Anda juga memerlukan akaun GitHub, penyunting 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 isi profil anda.
✅ GitHub bukan satu-satunya repositori kod di dunia; ada yang lain, tetapi GitHub adalah yang paling terkenal.
Anda memerlukan kedua-dua folder dengan projek kod pada mesin tempatan anda (komputer riba atau PC), dan repositori awam di GitHub, yang akan menjadi contoh bagaimana menyumbang kepada projek orang lain.
Katakan anda mempunyai folder secara tempatan dengan beberapa projek kod dan anda ingin mula mengesan kemajuan anda menggunakan git - sistem kawalan versi. Sebilangan orang membandingkan menggunakan git dengan menulis surat cinta untuk diri masa depan anda. Membaca mesej komit anda beberapa hari atau minggu atau bulan kemudian anda akan dapat mengingat mengapa anda membuat keputusan, atau "memutar balik (rollback)" perubahan - iaitu ketika anda menulis "pesan komit (commit messages)" yang baik.
Buat satu repository di GitHub. Di GitHub.com, pada tab repositori, atau dari bar navigasi di sebelah kanan atas, cari butang repo baru (new repo).
Navigasi ke folder kerja anda. Di terminal anda, beralih ke folder (juga dikenali sebagai direktori) yang ingin anda mulakan penjejakan. Jenis:
cd [name of your folder]
git init
git status
the output can look something like this:
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 perintah git status
memberitahu anda perkara seperti fail apa yang siap disimpan_ ke repo atau mempunyai perubahan di atasnya yang mungkin anda mahu berterusan.
git add .
Argumen git add
plus .
menunjukkan bahawa semua fail & perubahan anda untuk dijejaki.
git add [file or folder name]
Ini membantu kita untuk menambahkan fail yang dipilih hanya ke kawasan pementasan ketika kita tidak ingin melakukan semua fail sekaligus.
git reset
Perintah ini membantu kita untuk melepaskan semua fail sekaligus.
git reset [file or folder name]
Perintah ini membantu kita untuk melepaskan hanya fail yang tertentu sekaligus yang tidak ingin kita sertakan untuk komit berikutnya.
git commit
. commit mewakili titik simpanan dalam sejarah repo anda. Menaip perintah tersebut untuk membuat commit: git commit -m "first commit"
Untuk komit semua fail anda, menaip mesej "komit pertama (first commit)". Untuk mesej komit pada masa kelak, anda ingin lebih terperinci dalam penerangan anda untuk menyampaikan jenis perubahan yang telah anda buat.
git remote add
akan membuat tugasan tersebut. Menaip perintah tersebut:Perhatikan, sebelum anda mengetik perintah, pergi ke halaman repo GitHub anda untuk mencari URL repositori. Anda akan menggunakannya dalam arahan di bawah. Gantikan
repository_name
degan GitHub URL.
git remote add origin https://github.com/username/repository_name.git
Ini membuat remote, atau sambungan, bernama "origin" yang menunjuk ke repositori GitHub yang anda buat sebelumnya.
git push
, seperti di bawah: git push -u origin main
Perintah ini menghantar komit anda di cawangan "utama" (main branch) anda ke GitHub.
git add .
git commit -m "type your commit message here"
git push
Tip, Anda mungkin juga mahu mengadopsi fail
.gitignore
untuk mengelakkan fail yang tidak ingin anda lacak muncul di GitHub - seperti fail nota yang anda simpan di folder yang sama tetapi tidak mempunyai tempat di repositori awam. Anda boleh mencari templat untuk.gitignore
fail pada .gitignore templates.
Baris subjek Git komit yang hebat melengkapkan ayat berikut: Sekiranya berlaku, komit ini akan
Untuk subjek gunakan keharusan, ketegangan sekarang: "perubahan" tidak "berubah" atau "perubahan".
Seperti dalam subjek, dalam badan (pilihan) juga menggunakan keharusan, sekarang tegang. Tubuh harus merangkumi motivasi untuk perubahan dan membezakannya dengan tingkah laku sebelumnya. Anda menerangkan mengapa
, bukan bagaimana
.
✅ Luangkan masa beberapa minit untuk melayari GitHub. Bolehkah anda menemui mesej komit yang sangat hebat? Bolehkah anda mencari yang paling minimum? Maklumat apa yang anda fikir paling penting dan berguna untuk disampaikan dalam pesanan komited?
Sebab utama meletakkan perkara di GitHub adalah untuk memungkinkan untuk berkolaborasi dengan pemaju lain.
Dalam repositori anda, arahkan ke Insights> Community
untuk melihat bagaimana projek anda dibandingkan dengan standard komuniti yang disyorkan.
Berikut adalah beberapa perkara yang dapat meningkatkan repo GitHub anda:
Semua sumber ini akan memberi manfaat kepada ahli pasukan baru. Dan ini biasanya merupakan jenis perkara yang dilihat oleh penyumbang baru bahkan sebelum melihat kod anda, untuk mengetahui sama ada projek anda adalah tempat yang tepat untuk mereka menghabiskan masa.
✅ README fail, walaupun memerlukan masa untuk disiapkan, sering diabaikan oleh penyelenggara yang sibuk. Bolehkah anda mencari contoh yang sangat deskriptif? Catatan: ada beberapa alat untuk membantu mencipta README yang baik yang anda boleh cuba.
Menyumbang kepada dokumen membantu orang menyumbang dalam projek tersebut. Ini menerangkan jenis sumbangan yang anda cari dan bagaimana prosesnya berjalan. Penyumbang perlu melalui beberapa langkah untuk dapat menyumbang kepada repo anda di GitHub:
✅ Bayangkan keadaan di mana branch sangat penting untuk menulis dan menghantar kod yang baik. Apa kes penggunaan yang boleh anda fikirkan?
Perhatikan, jadikan perubahan yang ingin anda lihat di dunia, dan buatlah cawangan untuk karya anda sendiri juga. Segala komit yang anda buat akan dibuat di cabang tempat Anda sedang "check out" gunakan
git status
untuk melihat cabang mana.
Mari melalui aliran kerja penyumbang. Anggaplah penyumbang telah forked dan cloned repo sehingga mereka mempunyai repo Git yang siap diusahakan, di mesin tempatan mereka:
git branch
untuk membuat branch baharu seperti berikut: git branch [branch-name]
git switch
: git switch [branch-name]
git add .
git commit -m "my changes"
Pastikan anda memberikan ayat dengan baik kepada komit anda, demi anda dan juga penjaga repo yang anda bantu.
main
branch. Pada satu ketika anda selesai bekerja dan anda ingin menggabungkan kerja anda dengan main
branch. main
branch mungkin telah berubah sementara itu, pastikan anda mengemas kini terlebih dahulu kepada yang terbaru dengan arahan berikut: git switch main
git pull
Pada ketika ini anda ingin memastikan bahawa apa-apa conflicts, keadaan di mana Git tidak dapat dengan mudah combine perubahan berlaku di working branch anda. Oleh itu, jalankan arahan berikut:
git switch [branch_name]
git merge main
Ini akan membawa semua perubahan dari main
ke branch anda dan semoga anda dapat meneruskannya. Sekiranya tidak, VS Code akan memberitahu anda di mana Git confused dan anda hanya mengubah fail yang terjejas untuk mengatakan kandungan mana yang paling tepat.
git push --set-upstream origin [branch-name]
Perintah di atas membuat branch untuk forked repo.
Buka Tarik Permintaan (Pull Request) Seterusnya, anda mahu membuka tarik permintaan (Pull Request). Anda melakukannya dengan menavigasi ke repo bercabang di GitHub. Anda akan melihat petunjuk di GitHub di mana ia bertanya sama ada anda mahu membuat tarik permintaan (Pull Request) baru, anda mengkliknya dan anda akan dibawa ke antara muka di mana anda boleh menukar tajuk mesej komit, berikan keterangan yang lebih sesuai. Sekarang penyelenggara repo yang anda garpu akan melihat PR ini dan fingers crossed mereka akan menghargai dan merge tarik permintaan (Pull Request) anda. Anda telah menjadi penyumbang, yay:)
Bersihkan. Menjadikan amalan baik untuk cleanup selepas anda. Anda mahu membersihkan local branch dan branch yang anda dorong ke GitHub. Pertama marilah hapuskannya secara tempatan dengan arahan berikut:
git branch -d [branch-name]
Pastikan anda pergi ke halaman GitHub untuk forked repo seterusnya dan keluarkan branch terpencil yang baru anda tolak.
Tarik Permintaan (Pull request)
nampaknya istilah yang tidak bermoral kerana anda benar-benar mahu mendorong perubahan anda ke projek. Tetapi penyelenggara (pemilik projek) atau pasukan inti perlu mempertimbangkan perubahan anda sebelum menggabungkannya dengan "main" branch projek, jadi anda benar-benar meminta keputusan perubahan dari penyelenggara.
Tarik permintaan (Pull Request) adalah tempat untuk membandingkan dan membincangkan perbezaan yang diperkenalkan di cabang dengan ulasan, komen, ujian bersepadu, dan banyak lagi. Tarik permintaan (Pull Request) yang baik mengikuti kira-kira peraturan yang sama dengan pesanan pesanan. Anda dapat menambahkan rujukan ke masalah dalam pelacak masalah, ketika pekerjaan Anda misalnya menyelesaikan masalah. Ini dilakukan dengan menggunakan #
diikuti dengan jumlah masalah (issue) anda. Contohnya # 97
.
🤞 Jari memintas bahawa semua cek lulus dan pemilik projek menggabungkan perubahan anda ke dalam projek🤞
Kemas kini working branch tempatan anda sekarang dengan semua komit baru dari branch terpencil yang sesuai di GitHub:
git pull
Pertama, marilah kita cari repositori - atau: repo - di GitHub yang menarik bagi anda dan yang anda ingin menyumbang perubahan. Anda mahu menyalin kandungannya ke mesin kami.
✅ Kaedah yang baik untuk mencari repo 'mesra pemula (beginner-friendly)' adalah dengan cari mengikut tag 'good-first-issue'.
Terdapat beberapa cara menyalin kod. Salah satu cara adalah dengan "mengklon" kandungan repositori, menggunakan HTTPS, SSH, atau menggunakan GitHub CLI (Command Line Interface).
Buka terminal dan klon repo seperti di bawah:
git clone https://github.com/ProjectURL
Untuk kerja dengan projek tersebut, tukar the fail kanan:
cd ProjectURL
And juga boleh membuka keseluruhan projek dengan Codespaces, Penyunting kod terbitan GitHub / persekitaran pengembangan awan, atau GitHub Desktop.
Akhirnya, anda boleh memuat turun kod dalam bentuk zip.
Anda boleh membintangi, menonton, dan / atau "fork" mana-mana repositori awam di GitHub. Anda boleh mencari repositori berbintang anda di menu lungsur kanan atas. Ia seperti penanda buku, tetapi untuk kod.
Projek mempunyai pelacak masalah, kebanyakannya di GitHub di tab "Isu" kecuali dinyatakan sebaliknya, di mana orang membincangkan masalah yang berkaitan dengan projek. Dan tab Tarik Permintaan adalah tempat orang membincangkan dan mengkaji perubahan yang sedang berlangsung.
Projek mungkin juga ada perbincangan di forum, senarai surat, atau saluran sembang seperti Slack, Discord atau IRC.
✅ Lihatlah repo GitHub baru anda dan cuba beberapa perkara, seperti menyunting tetapan, menambahkan maklumat ke repo anda, dan membuat projek (seperti papan Kanban). Banyak yang boleh anda lakukan!
Berpasangan dengan rakan untuk mengerjakan kod masing-masing. Buat projek secara kolaboratif, fork kod, buat branch dan gabungkan perubahan.
Membaca tentang menyumbang kepada sumber terbuka.
Berlatih, berlatih, berlatih. GitHub mempunyai jalan pembelajaran yang hebat yang tersedia melalui lab.github.com:
Anda juga akan menemui makmal yang lebih maju.
Selesaikan Minggu pertama di GitHub (training lab)