19 KiB
Panimula sa GitHub
Ang araling ito ay tumatalakay sa mga pangunahing kaalaman ng GitHub, isang platform para mag-host at mag-manage ng mga pagbabago sa iyong code.
Sketchnote ni Tomomi Imura
Pre-Lecture Quiz
Panimula
Sa araling ito, tatalakayin natin ang:
- pagsubaybay sa mga gawaing ginagawa mo sa iyong makina
- pakikipagtulungan sa mga proyekto kasama ang iba
- paano mag-ambag sa open source software
Mga Kinakailangan
Bago magsimula, kailangang tiyakin kung naka-install na ang Git. Sa terminal, i-type:
git --version
Kung hindi pa naka-install ang Git, i-download ang Git. Pagkatapos, i-setup ang iyong lokal na Git profile sa terminal:
git config --global user.name "your-name"
git config --global user.email "your-email"
Para suriin kung naka-configure na ang Git, maaari mong i-type:
git config --list
Kailangan mo rin ng GitHub account, isang code editor (tulad ng Visual Studio Code), at kailangang buksan ang iyong terminal (o: command prompt).
Pumunta sa github.com at gumawa ng account kung wala ka pa, o mag-login at punan ang iyong profile.
✅ Hindi lang GitHub ang code repository sa mundo; may iba pang mga platform, ngunit ang GitHub ang pinakakilala.
Paghahanda
Kailangan mo ng folder na may code project sa iyong lokal na makina (laptop o PC), at isang pampublikong repository sa GitHub, na magsisilbing halimbawa kung paano mag-ambag sa mga proyekto ng iba.
Pamamahala ng Code
Halimbawa, mayroon kang folder sa lokal na makina na may code project at nais mong simulan ang pagsubaybay sa iyong progreso gamit ang git - ang version control system. Inihahambing ng ilan ang paggamit ng git sa pagsusulat ng love letter para sa iyong hinaharap na sarili. Sa pagbabasa ng iyong mga commit message makalipas ang ilang araw, linggo, o buwan, maaalala mo kung bakit mo ginawa ang isang desisyon, o "i-rollback" ang isang pagbabago - iyon ay, kung nagsusulat ka ng magagandang "commit messages".
Gawain: Gumawa ng repository at mag-commit ng code
Tingnan ang video
-
Gumawa ng repository sa GitHub. Sa GitHub.com, sa tab ng repositories, o mula sa navigation bar sa kanang itaas, hanapin ang new repo button.
- Bigyan ng pangalan ang iyong repository (folder)
- Piliin ang create repository.
-
Pumunta sa iyong working folder. Sa iyong terminal, lumipat sa folder (kilala rin bilang directory) na nais mong simulan ang pagsubaybay. I-type:
cd [name of your folder]
-
I-initialize ang git repository. Sa iyong proyekto, i-type:
git init
-
Suriin ang status. Para suriin ang status ng iyong repository, i-type:
git status
Ang output ay maaaring ganito:
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
Karaniwan, ang
git status
command ay nagsasabi ng mga bagay tulad ng kung anong mga file ang handa nang i-save sa repo o may mga pagbabago na maaaring nais mong i-persist. -
Idagdag ang lahat ng file para sa pagsubaybay Tinatawag din itong pag-stage ng mga file/pagdaragdag ng mga file sa staging area.
git add .
Ang
git add
kasama ang.
argument ay nagpapahiwatig na lahat ng iyong mga file at pagbabago ay isasama para sa pagsubaybay. -
Idagdag ang mga napiling file para sa pagsubaybay
git add [file or folder name]
Nakakatulong ito upang idagdag lamang ang mga napiling file sa staging area kapag ayaw mong i-commit ang lahat ng file nang sabay-sabay.
-
I-unstage ang lahat ng file
git reset
Ang command na ito ay tumutulong upang i-unstage ang lahat ng file nang sabay-sabay.
-
I-unstage ang isang partikular na file
git reset [file or folder name]
Ang command na ito ay tumutulong upang i-unstage lamang ang isang partikular na file na ayaw mong isama sa susunod na commit.
-
I-persist ang iyong trabaho. Sa puntong ito, naidagdag mo na ang mga file sa tinatawag na staging area. Isang lugar kung saan sinusubaybayan ng Git ang iyong mga file. Para gawing permanente ang pagbabago, kailangan mong i-commit ang mga file. Para gawin ito, gumawa ng commit gamit ang
git commit
command. Ang commit ay kumakatawan sa isang saving point sa kasaysayan ng iyong repo. I-type ang sumusunod para gumawa ng commit:git commit -m "first commit"
Iko-commit nito ang lahat ng iyong mga file, na may mensaheng "first commit". Para sa mga susunod na commit message, mas mabuting maging mas detalyado sa iyong paglalarawan upang maipakita kung anong uri ng pagbabago ang ginawa mo.
-
Ikonekta ang iyong lokal na Git repo sa GitHub. Ang Git repo ay maganda sa iyong makina ngunit sa isang punto, nais mong magkaroon ng backup ng iyong mga file sa ibang lugar at mag-imbita ng ibang tao na makipagtulungan sa iyong repo. Ang isang mahusay na lugar para gawin ito ay ang GitHub. Tandaan na gumawa na tayo ng repo sa GitHub kaya ang tanging kailangan nating gawin ay ikonekta ang lokal na Git repo sa GitHub. Ang command na
git remote add
ang gagawa nito. I-type ang sumusunod na command:Tandaan, bago i-type ang command, pumunta sa iyong GitHub repo page upang hanapin ang repository URL. Gagamitin mo ito sa command sa ibaba. Palitan ang
https://github.com/username/repository_name.git
ng iyong GitHub URL.git remote add origin https://github.com/username/repository_name.git
Gumagawa ito ng remote, o koneksyon, na pinangalanang "origin" na tumuturo sa GitHub repository na ginawa mo kanina.
-
Ipadala ang mga lokal na file sa GitHub. Sa ngayon, gumawa ka ng connection sa pagitan ng lokal na repo at ng GitHub repo. Ipadala ang mga file na ito sa GitHub gamit ang sumusunod na command na
git push
, ganito:Tandaan, maaaring iba ang pangalan ng iyong branch sa default na
main
.git push -u origin main
Ipinapadala nito ang iyong mga commit sa iyong "main" branch sa GitHub.
-
Magdagdag ng higit pang mga pagbabago. Kung nais mong magpatuloy sa paggawa ng mga pagbabago at i-push ang mga ito sa GitHub, kakailanganin mo lamang gamitin ang sumusunod na tatlong command:
git add . git commit -m "type your commit message here" git push
Tip, Maaaring nais mo ring gumamit ng
.gitignore
file upang maiwasan ang mga file na ayaw mong i-track na lumitaw sa GitHub - tulad ng notes file na iniimbak mo sa parehong folder ngunit walang lugar sa pampublikong repository. Maaari kang makahanap ng mga template para sa.gitignore
files sa .gitignore templates.
Mga Commit Message
Ang isang mahusay na Git commit subject line ay kumukumpleto sa sumusunod na pangungusap: Kung ilalapat, ang commit na ito ay
Para sa subject, gamitin ang imperative, present tense: "change" hindi "changed" o "changes".
Tulad ng sa subject, sa body (opsyonal) ay gamitin din ang imperative, present tense. Ang body ay dapat maglaman ng motibasyon para sa pagbabago at ikumpara ito sa nakaraang behavior. Ipinaliwanag mo ang bakit
, hindi ang paano
.
✅ Maglaan ng ilang minuto upang mag-surf sa GitHub. Makakakita ka ba ng isang talagang mahusay na commit message? Makakakita ka ba ng isang talagang minimal na mensahe? Anong impormasyon ang sa tingin mo ay pinakamahalaga at kapaki-pakinabang na ipahayag sa isang commit message?
Gawain: Makipagtulungan
Ang pangunahing dahilan ng paglalagay ng mga bagay sa GitHub ay upang gawing posible ang pakikipagtulungan sa ibang mga developer.
Pagtatrabaho sa mga proyekto kasama ang iba
Tingnan ang video
Sa iyong repository, pumunta sa Insights > Community
upang makita kung paano ikinukumpara ang iyong proyekto sa mga inirerekomendang pamantayan ng komunidad.
Narito ang ilang bagay na maaaring magpabuti sa iyong GitHub repo:
- Description. Nagdagdag ka ba ng description para sa iyong proyekto?
- README. Nagdagdag ka ba ng README? Nagbibigay ang GitHub ng gabay para sa pagsusulat ng README.
- Contributing guideline. Mayroon bang contributing guidelines ang iyong proyekto?
- Code of Conduct. Mayroon bang Code of Conduct?
- License. Marahil ang pinakamahalaga, isang license?
Ang lahat ng mga resource na ito ay makakatulong sa onboarding ng mga bagong miyembro ng team. At ang mga ito ay karaniwang ang uri ng mga bagay na tinitingnan ng mga bagong contributor bago pa man tingnan ang iyong code, upang malaman kung ang iyong proyekto ay ang tamang lugar para sa kanila upang gugulin ang kanilang oras.
✅ Ang mga README file, bagama't nangangailangan ng oras upang ihanda, ay madalas na napapabayaan ng mga abalang maintainer. Makakakita ka ba ng halimbawa ng isang partikular na deskriptibong README? Tandaan: may ilang tools para tumulong gumawa ng magagandang README na maaaring gusto mong subukan.
Gawain: Mag-merge ng code
Ang mga contributing docs ay tumutulong sa mga tao na mag-ambag sa proyekto. Ipinaliwanag nito kung anong uri ng mga kontribusyon ang hinahanap mo at kung paano gumagana ang proseso. Kailangang dumaan ang mga contributor sa isang serye ng mga hakbang upang makapag-ambag sa iyong repo sa GitHub:
- Forking ng iyong repo. Malamang na nais mong ipa-fork ang iyong proyekto sa mga tao. Ang forking ay nangangahulugan ng paggawa ng replika ng iyong repository sa kanilang GitHub profile.
- Clone. Mula doon, i-clone nila ang proyekto sa kanilang lokal na makina.
- Gumawa ng branch. Nais mong hilingin sa kanila na gumawa ng branch para sa kanilang trabaho.
- Mag-focus sa isang lugar ng pagbabago. Hilingin sa mga contributor na ituon ang kanilang kontribusyon sa isang bagay lamang sa bawat pagkakataon - sa ganitong paraan, mas mataas ang tsansa na ma-merge ang kanilang trabaho. Halimbawa, gumawa sila ng bug fix, magdagdag ng bagong feature, at mag-update ng ilang tests - paano kung nais mo, o maaari lamang i-implement ang 2 sa 3, o 1 sa 3 pagbabago?
✅ Mag-isip ng sitwasyon kung saan ang mga branch ay partikular na mahalaga sa pagsusulat at pagpapadala ng magandang code. Anong mga use case ang naiisip mo?
Tandaan, maging ang pagbabago na nais mong makita sa mundo, at gumawa ng mga branch para sa iyong sariling trabaho. Ang anumang mga commit na gagawin mo ay gagawin sa branch na kasalukuyan mong "checked out". Gamitin ang
git status
upang makita kung aling branch iyon.
Dumaan tayo sa workflow ng isang contributor. Ipagpalagay na ang contributor ay na-fork at na-clone na ang repo kaya mayroon silang Git repo na handang trabahuin, sa kanilang lokal na makina:
-
Gumawa ng branch. Gamitin ang command na
git branch
upang gumawa ng branch na maglalaman ng mga pagbabago na nais nilang i-ambag:git branch [branch-name]
-
Lumipat sa working branch. Lumipat sa tinukoy na branch at i-update ang working directory gamit ang
git switch
:git switch [branch-name]
-
Gumawa ng trabaho. Sa puntong ito, nais mong idagdag ang iyong mga pagbabago. Huwag kalimutang ipaalam ito sa Git gamit ang mga sumusunod na command:
git add . git commit -m "my changes"
Tiyaking bigyan ang iyong commit ng magandang pangalan, para sa iyong kapakanan pati na rin sa maintainer ng repo na iyong tinutulungan.
-
Pagsamahin ang iyong trabaho sa
main
branch. Sa isang punto, tapos ka na sa paggawa at nais mong pagsamahin ang iyong trabaho samain
branch. Angmain
branch ay maaaring nagbago sa pagitan kaya tiyaking i-update muna ito sa pinakabago gamit ang mga sumusunod na command:git switch main git pull
Sa puntong ito, nais mong tiyakin na ang anumang conflicts, mga sitwasyon kung saan hindi madaling ma-combine ng Git ang mga pagbabago, ay mangyayari sa iyong working branch. Kaya't patakbuhin ang mga sumusunod na command:
git switch [branch_name] git merge main
Dadalhin nito ang lahat ng pagbabago mula sa
main
papunta sa iyong branch at sana ay maaari kang magpatuloy. Kung hindi, ipapakita sa iyo ng VS Code kung saan nalilito ang Git at babaguhin mo lang ang mga apektadong file upang sabihin kung aling content ang pinaka-tama. -
Ipadala ang iyong trabaho sa GitHub. Ang pagpapadala ng iyong trabaho sa GitHub ay nangangahulugan ng dalawang bagay. Ang pag-push ng iyong branch sa iyong repo at pagkatapos ay magbukas ng PR, Pull Request.
git push --set-upstream origin [branch-name]
Ang command sa itaas ay lumilikha ng branch sa iyong forked repo.
-
Magbukas ng PR. Susunod, nais mong magbukas ng PR. Gawin ito sa pamamagitan ng pagpunta sa forked repo sa GitHub. Makikita mo ang indikasyon sa GitHub kung saan tinatanong kung nais mong gumawa ng bagong PR, i-click mo iyon at dadalhin ka sa interface kung saan maaari mong baguhin ang commit message title, bigyan ito ng mas angkop na paglalarawan. Ngayon makikita ng maintainer ng repo na iyong na-fork ang PR na ito at fingers crossed maa-appreciate nila at merge ang iyong PR. Isa ka nang contributor, yay :)
-
Linisin ang trabaho. Itinuturing na magandang kasanayan ang linisin ang iyong trabaho pagkatapos mong matagumpay na ma-merge ang isang PR. Nais mong linisin ang parehong lokal na branch at ang branch na iyong na-push sa GitHub. Una, tanggalin ito nang lokal gamit ang sumusunod na command:
git branch -d [branch-name]
Tiyaking pumunta sa GitHub page ng forked repo at tanggalin ang remote branch na iyong na-push dito.
Pull request
ay tila isang nakakatawang termino dahil sa totoo lang, nais mong i-push ang iyong mga pagbabago sa proyekto. Ngunit kailangang suriin ng maintainer (may-ari ng proyekto) o core team ang iyong mga pagbabago bago ito pagsamahin sa "main" branch ng proyekto, kaya't sa esensya, humihiling ka ng desisyon mula sa maintainer tungkol sa iyong pagbabago.
Ang pull request ay isang lugar kung saan maaaring ikumpara at talakayin ang mga pagkakaiba na ipinakilala sa isang branch gamit ang mga review, komento, integrated tests, at iba pa. Ang isang mahusay na pull request ay sumusunod sa halos parehong mga patakaran tulad ng isang commit message. Maaari kang magdagdag ng reference sa isang isyu sa issue tracker, halimbawa kung ang iyong trabaho ay nag-aayos ng isang isyu. Ginagawa ito gamit ang #
na sinusundan ng numero ng iyong isyu. Halimbawa: #97
.
🤞Sana'y pumasa ang lahat ng pagsusuri at ma-merge ng may-ari ng proyekto ang iyong mga pagbabago sa proyekto🤞
I-update ang kasalukuyang lokal na working branch gamit ang lahat ng bagong commit mula sa kaukulang remote branch sa GitHub:
git pull
Paano mag-ambag sa open source
Una, maghanap ng repository (o repo) sa GitHub na interesado ka at nais mong ambagan ng pagbabago. Kakailanganin mong kopyahin ang nilalaman nito sa iyong makina.
✅ Isang magandang paraan upang makahanap ng mga 'beginner-friendly' na repo ay ang maghanap gamit ang tag na 'good-first-issue'.
May ilang paraan upang makopya ang code. Isa sa mga ito ay ang "i-clone" ang nilalaman ng repository gamit ang HTTPS, SSH, o ang GitHub CLI (Command Line Interface).
Buksan ang iyong terminal at i-clone ang repository tulad nito:
git clone https://github.com/ProjectURL
Upang magtrabaho sa proyekto, lumipat sa tamang folder:
cd ProjectURL
Maaari mo ring buksan ang buong proyekto gamit ang Codespaces, ang embedded code editor / cloud development environment ng GitHub, o GitHub Desktop.
Sa huli, maaari mo ring i-download ang code sa isang naka-zip na folder.
Ilang mga kawili-wiling bagay tungkol sa GitHub
Maaari kang mag-star, mag-watch, at/o "fork" ng anumang pampublikong repository sa GitHub. Makikita mo ang iyong mga starred repository sa drop-down menu sa kanang-itaas. Para itong pag-bookmark, pero para sa code.
Ang mga proyekto ay may issue tracker, kadalasan sa GitHub sa tab na "Issues" maliban kung may ibang indikasyon, kung saan tinatalakay ng mga tao ang mga isyung may kaugnayan sa proyekto. At ang tab na Pull Requests ay kung saan tinatalakay at nire-review ang mga pagbabagong ginagawa.
Ang mga proyekto ay maaaring may mga talakayan sa forums, mailing lists, o chat channels tulad ng Slack, Discord, o IRC.
✅ Maglibot sa iyong bagong GitHub repo at subukan ang ilang bagay, tulad ng pag-edit ng mga setting, pagdaragdag ng impormasyon sa iyong repo, at paggawa ng proyekto (tulad ng isang Kanban board). Maraming magagawa!
🚀 Hamon
Makipag-partner sa isang kaibigan upang magtrabaho sa code ng isa't isa. Gumawa ng proyekto nang magkasama, mag-fork ng code, gumawa ng mga branch, at mag-merge ng mga pagbabago.
Post-Lecture Quiz
Review at Pag-aaral sa Sarili
Magbasa pa tungkol sa pag-aambag sa open source software.
Practice, practice, practice. May mga mahusay na learning paths ang GitHub na makikita sa skills.github.com:
Makakahanap ka rin ng mas advanced na mga kurso.
Takdang-Aralin
Kumpletuhin ang First Week on GitHub course
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito.