17 KiB
Utangulizi wa GitHub
Somo hili linashughulikia misingi ya GitHub, jukwaa la kuhifadhi na kusimamia mabadiliko ya msimbo wako.
Sketchnote na Tomomi Imura
Jaribio Kabla ya Somo
Utangulizi
Katika somo hili, tutashughulikia:
- kufuatilia kazi unayofanya kwenye mashine yako
- kufanya kazi kwenye miradi na wengine
- jinsi ya kuchangia programu huria
Mahitaji ya Awali
Kabla ya kuanza, hakikisha Git imewekwa. Katika terminal andika:
git --version
Ikiwa Git haijawekwa, pakua Git. Kisha, weka wasifu wako wa Git wa ndani kwenye terminal:
git config --global user.name "jina-lako"
git config --global user.email "barua-pepe-yako"
Ili kuthibitisha kama Git tayari imewekwa, unaweza kuandika:
git config --list
Utahitaji pia akaunti ya GitHub, mhariri wa msimbo (kama Visual Studio Code), na ufungue terminal yako (au: command prompt).
Tembelea github.com na unda akaunti ikiwa bado huna, au ingia na ujaze wasifu wako.
✅ GitHub si jukwaa pekee la kuhifadhi msimbo duniani; yapo mengine, lakini GitHub ndilo linalojulikana zaidi.
Maandalizi
Utahitaji folda yenye mradi wa msimbo kwenye mashine yako ya ndani (laptop au PC), na hifadhi ya umma kwenye GitHub, ambayo itatumika kama mfano wa jinsi ya kuchangia kwenye miradi ya wengine.
Usimamizi wa Msimbo
Tuseme una folda ya ndani yenye mradi wa msimbo na unataka kuanza kufuatilia maendeleo yako ukitumia git - mfumo wa kudhibiti matoleo. Watu wengine hulinganisha kutumia git na kuandika barua ya mapenzi kwa nafsi yako ya baadaye. Ukisoma ujumbe wako wa "commit" baada ya siku, wiki, au miezi, utaweza kukumbuka kwa nini ulifanya uamuzi fulani, au "kurudisha nyuma" mabadiliko - yaani, unapokuwa umeandika ujumbe mzuri wa "commit".
Kazi: Unda Hifadhi na Uweke Msimbo
Tazama video
-
Unda hifadhi kwenye GitHub. Kwenye GitHub.com, katika kichupo cha hifadhi, au kutoka kwenye upau wa urambazaji juu-kulia, tafuta kitufe cha new repo.
- Pea hifadhi yako (folda) jina.
- Chagua create repository.
-
Nenda kwenye folda yako ya kazi. Katika terminal yako, badilisha hadi folda (inayojulikana pia kama saraka) unayotaka kuanza kufuatilia. Andika:
cd [name of your folder]
-
Anzisha hifadhi ya git. Katika mradi wako andika:
git init
-
Angalia hali. Ili kuangalia hali ya hifadhi yako andika:
git status
Matokeo yanaweza kuonekana kama haya:
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
Kwa kawaida, amri ya
git status
inakuambia vitu kama faili gani ziko tayari kuhifadhiwa kwenye hifadhi au zina mabadiliko unayoweza kutaka kuhifadhi. -
Ongeza faili zote kwa kufuatilia
Hii pia inaitwa kuweka faili kwenye eneo la kusubiri.git add .
Amri ya
git add
pamoja na hoja ya.
inaonyesha kuwa faili zako zote na mabadiliko yako yameongezwa kwa kufuatilia. -
Ongeza faili zilizochaguliwa kwa kufuatilia
git add [file or folder name]
Hii inatusaidia kuongeza faili zilizochaguliwa tu kwenye eneo la kusubiri wakati hatutaki kuhifadhi faili zote mara moja.
-
Ondoa faili zote kutoka eneo la kusubiri
git reset
Amri hii inatusaidia kuondoa faili zote kutoka eneo la kusubiri mara moja.
-
Ondoa faili maalum kutoka eneo la kusubiri
git reset [file or folder name]
Amri hii inatusaidia kuondoa faili maalum tu kutoka eneo la kusubiri mara moja ikiwa hatutaki kuijumuisha kwenye "commit" inayofuata.
-
Hifadhi kazi yako. Kwa sasa umeongeza faili kwenye eneo linaloitwa staging area. Mahali ambapo Git inafuatilia faili zako. Ili kufanya mabadiliko yawe ya kudumu unahitaji kuhifadhi faili. Ili kufanya hivyo, unda commit kwa kutumia amri ya
git commit
. Commit inawakilisha hatua ya kuhifadhi katika historia ya hifadhi yako. Andika yafuatayo kuunda commit:git commit -m "first commit"
Hii inahifadhi faili zako zote, ikiongeza ujumbe "first commit". Kwa ujumbe wa baadaye wa "commit" utataka kuwa na maelezo zaidi ili kueleza aina ya mabadiliko uliyofanya.
-
Unganisha hifadhi yako ya Git ya ndani na GitHub. Hifadhi ya Git ni nzuri kwenye mashine yako lakini wakati fulani utataka kuwa na nakala rudufu ya faili zako mahali pengine na pia kuwaalika watu wengine kufanya kazi na wewe kwenye hifadhi yako. Mahali pazuri pa kufanya hivyo ni GitHub. Kumbuka tayari tumeunda hifadhi kwenye GitHub kwa hivyo tunachohitaji kufanya ni kuunganisha hifadhi yetu ya Git ya ndani na GitHub. Amri ya
git remote add
itafanya hivyo. Andika amri ifuatayo:Kumbuka, kabla ya kuandika amri, nenda kwenye ukurasa wa hifadhi yako ya GitHub ili kupata URL ya hifadhi. Utaitumia kwenye amri hapa chini. Badilisha
https://github.com/username/repository_name.git
na URL yako ya GitHub.git remote add origin https://github.com/username/repository_name.git
Hii inaunda remote, au muunganisho, unaoitwa "origin" unaoelekeza kwenye hifadhi ya GitHub uliyounda awali.
-
Tuma faili za ndani kwenda GitHub. Hadi sasa umeunda muunganisho kati ya hifadhi ya ndani na hifadhi ya GitHub. Hebu tutume faili hizi kwenda GitHub kwa kutumia amri ifuatayo
git push
, kama ifuatavyo:Kumbuka, jina la tawi lako linaweza kuwa tofauti kwa chaguo-msingi kutoka
main
.git push -u origin main
Hii inatuma "commit" zako kwenye tawi lako la "main" kwenda GitHub.
-
Kuongeza mabadiliko zaidi. Ikiwa unataka kuendelea kufanya mabadiliko na kuyasukuma kwenda GitHub utahitaji tu kutumia amri hizi tatu:
git add . git commit -m "type your commit message here" git push
Kidokezo, unaweza pia kutaka kutumia faili ya
.gitignore
ili kuzuia faili ambazo hutaki kufuatilia zisionekane kwenye GitHub - kama faili ya maelezo unayohifadhi kwenye folda hiyo hiyo lakini haina nafasi kwenye hifadhi ya umma. Unaweza kupata violezo vya faili za.gitignore
kwenye .gitignore templates.
Ujumbe wa Commit
Ujumbe mzuri wa Git commit unakamilisha sentensi ifuatayo:
Ikiwa utatumika, commit hii itafanya
Kwa kichwa cha ujumbe tumia hali ya amri, wakati wa sasa: "badilisha" si "ilibadilishwa" wala "inabadilisha".
Kama ilivyo kwenye kichwa, kwenye mwili (hiari) pia tumia hali ya amri, wakati wa sasa. Mwili unapaswa kujumuisha motisha ya mabadiliko na kulinganisha haya na tabia ya awali. Unaelezea kwa nini
, si jinsi
.
✅ Chukua dakika chache kuvinjari GitHub. Je, unaweza kupata ujumbe wa commit mzuri sana? Je, unaweza kupata ujumbe wa commit wa kawaida sana? Unafikiri ni taarifa gani muhimu zaidi na yenye manufaa kuwasilisha kwenye ujumbe wa commit?
Kazi: Kushirikiana
Sababu kuu ya kuweka vitu kwenye GitHub ilikuwa kufanya iwezekane kushirikiana na waendelezaji wengine.
Kufanya kazi kwenye miradi na wengine
Tazama video
Katika hifadhi yako, nenda kwenye Insights > Community
ili kuona jinsi mradi wako unavyolinganishwa na viwango vya jamii vinavyopendekezwa.
Hapa kuna mambo ambayo yanaweza kuboresha hifadhi yako ya GitHub:
- Maelezo. Je, umeongeza maelezo kwa mradi wako?
- README. Je, umeongeza README? GitHub hutoa mwongozo wa kuandika README.
- Mwongozo wa kuchangia. Je, mradi wako una mwongozo wa kuchangia?
- Kanuni za Maadili. Kanuni za Maadili.
- Leseni. Labda muhimu zaidi, leseni.
Rasilimali hizi zote zitafaidi wanachama wapya wa timu. Na haya ndiyo mambo ambayo kawaida wachangiaji wapya huangalia kabla hata ya kuangalia msimbo wako, ili kugundua kama mradi wako ni mahali sahihi pa kutumia muda wao.
✅ Faili za README, ingawa zinachukua muda kuandaa, mara nyingi hupuuzwa na waangalizi wenye shughuli nyingi. Je, unaweza kupata mfano wa README iliyoelezea vizuri sana? Kumbuka: kuna baadhi ya zana za kusaidia kuunda README nzuri ambazo unaweza kupenda kujaribu.
Kazi: Unganisha msimbo fulani
Nyaraka za kuchangia husaidia watu kuchangia mradi. Inaelezea aina gani za michango unayotafuta na jinsi mchakato unavyofanya kazi. Wachangiaji watahitaji kupitia hatua kadhaa ili waweze kuchangia kwenye hifadhi yako kwenye GitHub:
- Kufork hifadhi yako. Labda utataka watu wafork mradi wako. Kufork kunamaanisha kuunda nakala ya hifadhi yako kwenye wasifu wao wa GitHub.
- Clone. Kutoka hapo wata-clone mradi kwenye mashine yao ya ndani.
- Unda tawi. Utataka kuwaomba waunde tawi kwa kazi yao.
- Lenga mabadiliko yao kwenye eneo moja. Waombe wachangiaji kulenga michango yao kwenye jambo moja kwa wakati mmoja - kwa njia hiyo nafasi ya kuweza kuunganisha kazi yao ni kubwa zaidi. Fikiria wanaandika marekebisho ya hitilafu, kuongeza kipengele kipya, na kusasisha majaribio kadhaa - je, ikiwa unataka, au unaweza kutekeleza 2 kati ya 3, au 1 kati ya 3 mabadiliko?
✅ Fikiria hali ambapo matawi ni muhimu sana kwa kuandika na kusafirisha msimbo mzuri. Unaweza kufikiria matumizi gani?
Kumbuka, kuwa mabadiliko unayotaka kuona duniani, na uunde matawi kwa kazi yako mwenyewe pia. Mabadiliko yoyote unayofanya yatafanywa kwenye tawi ambalo umechagua kwa sasa. Tumia
git status
kuona ni tawi gani hilo.
Hebu tupitie mtiririko wa mchango. Fikiria mchangiaji tayari ame-fork na clone hifadhi kwa hivyo wana hifadhi ya Git tayari kwa kazi, kwenye mashine yao ya ndani:
-
Unda tawi. Tumia amri
git branch
kuunda tawi ambalo litakuwa na mabadiliko wanayokusudia kuchangia:git branch [branch-name]
-
Badilisha hadi tawi la kazi. Badilisha hadi tawi maalum na usasishe saraka ya kazi kwa
git switch
:git switch [branch-name]
-
Fanya kazi. Kwa wakati huu unataka kuongeza mabadiliko yako. Usisahau kumwambia Git kuhusu hilo kwa kutumia amri zifuatazo:
git add . git commit -m "my changes"
Hakikisha unatoa jina zuri kwa commit yako, kwa manufaa yako na pia kwa mwangalizi wa hifadhi unayesaidia.
-
Unganisha kazi yako na tawi la
main
. Wakati fulani unamaliza kazi na unataka kuunganisha kazi yako na ile ya tawi lamain
. Tawi lamain
linaweza kuwa limebadilika wakati huo kwa hivyo hakikisha kwanza unasasisha hadi la hivi karibuni kwa kutumia amri zifuatazo:git switch main git pull
Kwa wakati huu unataka kuhakikisha kuwa mizozo yoyote, hali ambapo Git haiwezi kuunganisha mabadiliko kwa urahisi, inatokea kwenye tawi lako la kazi. Kwa hivyo endesha amri zifuatazo:
git switch [branch_name] git merge main
Hii italeta mabadiliko yote kutoka
main
kwenye tawi lako na kwa matumaini utaweza kuendelea. Ikiwa sivyo, VS Code itakuonyesha mahali ambapo Git imechanganyikiwa na unarekebisha faili zilizoathiriwa ili kusema ni maudhui gani yaliyo sahihi zaidi. -
Tuma kazi yako kwenda GitHub. Kutuma kazi yako kwenda GitHub kunamaanisha mambo mawili. Kusukuma tawi lako kwenye hifadhi yako na kisha kufungua PR, Pull Request.
git push --set-upstream origin [branch-name]
Amri hapo juu inaunda tawi kwenye hifadhi yako ya forked.
-
Fungua PR. Hatua inayofuata ni kufungua PR. Unaifanya kwa kwenda kwenye hifadhi yako ya forked kwenye GitHub. Utaona kiashiria kwenye GitHub kinachokuuliza ikiwa unataka kuunda PR mpya, bonyeza hiyo na utaelekezwa kwenye kiolesura ambapo unaweza kubadilisha kichwa cha ujumbe wa commit, kutoa maelezo yanayofaa zaidi. Sasa mwangalizi wa hifadhi uliyofork ataona PR hii na vidole vimevukwa wataithamini na kuunganisha PR yako. Sasa wewe ni mchangiaji, hongera :)
-
Safisha. Inachukuliwa kuwa ni mazoea mazuri kusafisha baada ya kufanikiwa kuunganisha PR. Unataka kusafisha tawi lako la ndani na tawi ulilosukuma kwenda GitHub. Kwanza, futa tawi hilo kwa ndani kwa kutumia amri ifuatayo:
git branch -d [branch-name]
Hakikisha unaenda kwenye ukurasa wa GitHub wa repo uliyo-fork na uondoe tawi la remote ambalo umesukuma kwake.
Pull request
inaonekana kama neno la ajabu kwa sababu kwa kweli unataka kusukuma mabadiliko yako kwenye mradi. Lakini msimamizi (mmiliki wa mradi) au timu ya msingi inahitaji kuzingatia mabadiliko yako kabla ya kuyachanganya na tawi la "main" la mradi, kwa hivyo kwa kweli unatoa ombi la uamuzi wa mabadiliko kutoka kwa msimamizi.
Pull request ni mahali pa kulinganisha na kujadili tofauti zilizotolewa kwenye tawi kwa kutumia ukaguzi, maoni, majaribio yaliyojumuishwa, na zaidi. Pull request nzuri inafuata takriban sheria sawa na ujumbe wa commit. Unaweza kuongeza rejea kwa tatizo kwenye tracker ya masuala, pale ambapo kazi yako kwa mfano inatatua tatizo. Hii inafanyika kwa kutumia #
ikifuatiwa na namba ya tatizo lako. Kwa mfano #97
.
🤞Kidole kimoja juu kwamba ukaguzi wote unapita na mmiliki wa mradi wanachanganya mabadiliko yako kwenye mradi🤞
Sasisha tawi lako la kazi la ndani na commits zote mpya kutoka kwenye tawi la remote linalolingana kwenye GitHub:
git pull
Jinsi ya kuchangia kwenye open source
Kwanza, tafuta repo kwenye GitHub inayokuvutia na ambayo ungependa kuchangia mabadiliko. Utataka kunakili maudhui yake kwenye mashine yako.
✅ Njia nzuri ya kupata repo za 'rafiki kwa wanaoanza' ni kutafuta kwa tag 'good-first-issue'.
Kuna njia kadhaa za kunakili code. Njia moja ni "kufanya clone" ya maudhui ya repo, kwa kutumia HTTPS, SSH, au GitHub CLI (Command Line Interface).
Fungua terminal yako na fanya clone ya repo kama hivi:
git clone https://github.com/ProjectURL
Ili kufanya kazi kwenye mradi, nenda kwenye folda sahihi:
cd ProjectURL
Unaweza pia kufungua mradi mzima kwa kutumia Codespaces, mhariri wa code wa GitHub / mazingira ya maendeleo ya wingu, au GitHub Desktop.
Mwisho, unaweza kupakua code kwenye folda iliyobanwa (zipped).
Mambo machache ya kuvutia kuhusu GitHub
Unaweza ku-star, ku-watch, na/au "fork" repo yoyote ya umma kwenye GitHub. Unaweza kupata repo zako ulizo-star kwenye menyu ya kushuka juu kulia. Ni kama kuweka alama ya kurasa, lakini kwa code.
Miradi ina tracker ya masuala, mara nyingi kwenye GitHub katika tab ya "Issues" isipokuwa imeonyeshwa vinginevyo, ambapo watu wanajadili masuala yanayohusiana na mradi. Na tab ya Pull Requests ni mahali ambapo watu wanajadili na kukagua mabadiliko yanayoendelea.
Miradi inaweza pia kuwa na majadiliano kwenye majukwaa, orodha za barua pepe, au njia za mazungumzo kama Slack, Discord au IRC.
✅ Angalia repo yako mpya ya GitHub na jaribu mambo kadhaa, kama kuhariri mipangilio, kuongeza maelezo kwenye repo yako, na kuunda mradi (kama bodi ya Kanban). Kuna mengi unaweza kufanya!
🚀 Changamoto
Shirikiana na rafiki kufanya kazi kwenye code ya kila mmoja. Unda mradi kwa pamoja, fanya fork ya code, unda matawi, na changanya mabadiliko.
Jaribio la Baada ya Somo
Mapitio na Kujisomea
Soma zaidi kuhusu kuchangia kwenye programu za open source.
Fanya mazoezi, mazoezi, mazoezi. GitHub ina njia nzuri za kujifunza zinazopatikana kupitia skills.github.com:
Pia utapata kozi za hali ya juu zaidi.
Kazi
Kamilisha kozi ya Wiki ya Kwanza kwenye GitHub
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.