He Alakaʻi no ka hoʻohana ʻana iā GitHub no ka hana like ʻana ma ka papahana
He kahua hoʻokele code kumu ʻo GitHub i kaulana loa no ka laulima papahana, mai nā papahana liʻiliʻi a me nā haʻawina kulanui a hiki i ka hoʻomohala polokalamu ʻoihana. Me GitHub, hiki i nā hui ke hana ma ka codebase like me ka ʻole o ke kākau hou ʻana i ka hana a kekahi, hahai pono i nā loli, hana i nā kūkākūkā loea, a nānā hou i ka maikaʻi o ke code ma mua o ka hui ʻana. Uhi kēia ʻatikala i kahi alakaʻi kūpono no ka hoʻohana ʻana iā GitHub no ka laulima papahana, mai ka honua a hiki i kahi kahe hana i hoʻonohonoho pono ʻia.
1. Ke hoʻomaopopo nei i nā manaʻo kumu: Git vs GitHub
Ma mua o ko mākou hoʻomaka ʻana, he mea nui e hoʻokaʻawale ma waena o Git a me GitHub. He ʻōnaehana hoʻokele mana ʻo Git e holo ana ma kahi kamepiula kūloko e hoʻopaʻa i nā loli faila. ʻO GitHub, ma ka ʻaoʻao ʻē aʻe, he lawelawe pūnaewele e hoʻokipa ana i nā waihona Git ma ka pūnaewele a hāʻawi i nā hiʻohiʻona hou aʻe e like me nā noi huki, ka nānā ʻana i nā pilikia, ka loiloi code, a me ka automation CI/CD. Ma ka laulima ʻana, he kuleana ko Git i ka hoʻokele mana, ʻoiai ʻo GitHub e lawelawe ana ma ke ʻano he "wahi hana i kaʻana like ʻia."
2. E hana i kahi waihona a me ka hoʻonohonoho papahana
ʻO ka hana mua, ʻo ia ka hana ʻana i kahi waihona ma GitHub:
1. Kaomi i ka Waihona Hou.
2. E kuhikuhi i ka inoa o ka waihona, ka wehewehe ʻana, a me ka ʻike ʻia (Lehulehu/Pilikino).
3. Koho: e nānā i ka Hoʻohui i kahi README, .gitignore, a me ka Laikini e like me ka mea e pono ai.
Hana ka README ma ke ʻano he palapala mua no kahi papahana (kumu, nā kuhikuhi hoʻonohonoho, a me nā kuhikuhi hāʻawi). Kāohi ka faila `.gitignore` i kekahi mau faila (e.g., `node_modules`, nā faila kūkulu, a i ʻole nā hoʻonohonoho kūloko) mai ka hoʻopaʻa ʻia ʻana. He mea nui nā laikini inā he open-source ka papahana a inā makemake ʻoe e hoʻoponopono i nā kuleana hoʻohana.
3. Hoʻopili i ka waihona i ke kamepiula kūloko
Ke hana ʻia ka waihona, pono kēlā me kēia lālā o ka hui e kope i ka papahana i kā lākou mīkini me ke kauoha:
"ʻahaʻaina hoʻokūkū"
clone git https://github.com/username/nama-repo.git
".
Hoʻokumu kēia kauoha i kope kūloko piha o ka papahana, me ka mōʻaukala hoʻopaʻa. A laila, e hele i ka waihona papahana:
"ʻahaʻaina hoʻokūkū"
inoa waihona cd
".
4. Hoʻonohonoho ʻIke Git
No ka hōʻoia ʻana ua hoʻopaʻa ʻia kēlā me kēia commit ma lalo o ka inoa kūpono o ka mea hāʻawi, e hoʻonohonoho i ka ʻike Git:
"ʻahaʻaina hoʻokūkū"
git config –global user.name "Kou inoa"
git config –mea hoʻohana honua.leka uila "[pale ʻia ka leka uila]"
".
He mea nui kēia no ka moakāka o nā haʻawina, ka loiloi loli, a me ke kamaʻilio ʻana o ka hui.
5. Kaʻina Hana Lālā no ka Hana Pū ʻana
ʻO ka laulima maikaʻi e pili pinepine ana i ka hoʻohana ʻana i nā lālā. ʻAe nā lālā i kēlā me kēia kanaka e hana ma nā hiʻohiʻona a i ʻole nā hoʻoponopono me ka ʻole o ka hoʻopilikia ʻana i ka lālā nui (ʻo ka maʻamau he `main` a i ʻole `master`). Nā hana maʻamau:
– `nui`: code paʻa/mākaukau e hoʻokuʻu
– `hoʻomohala` (koho): hoʻohui i nā hiʻohiʻona ma mua o ka paʻa
– `hiʻona/inoa-hiʻona`: hoʻomohala hiʻona hou
– `hoʻoponopono/inoa-pepe`: hoʻoponopono pepe
– `hotfix/…`: hoʻoponopono wikiwiki i ka hana ʻana
No ka hana ʻana i lālā:
"ʻahaʻaina hoʻokūkū"
hiʻona/komo git checkout -b
".
Ma hope o ke kaʻina hana, e mālama i nā hoʻololi:
"ʻahaʻaina hoʻokūkū"
hoʻohui git.
git commit -m "Hoʻohui i ka ʻaoʻao komo"
".
6. Hoʻokuke i nā Hoʻololi i GitHub
No ka hōʻike ʻana i nā loli kūloko i nā lālā ʻē aʻe o ka hui, e kaomi:
"ʻahaʻaina hoʻokūkū"
git push -u hiʻona kumu/komo
".
Hoʻopaʻa ka koho `-u` i ka lālā kūloko i ka lālā mamao i hiki ai i nā paʻi ma hope ke lilo i `git push` wale nō.
7. Hana i nā noi huki (PR) a me nā loiloi code
ʻO nā Pull Requests ke kikowaena o ka laulima ma GitHub. Hiki iā ʻoe ke hāpai i nā PR e hāpai i ka hoʻohui ʻana i kahi lālā hiʻona i loko o ka lālā nui. Eia nā hana:
1. E wehe i ka waihona ma GitHub.
2. Koho i ka lālā āu i paʻi wale ai.
3. Kaomi iā Hoʻohālikelike & huki i ke noi.
4. E hoʻopiha pono i ka inoa PR a me ka wehewehe: nā mea i loli, nā kumu, pehea e hoʻāʻo ai.
5. E hoʻonoho i ka mea loiloi (lālā o ka hui) a me ka lepili (e.g. `hoʻonui`, `bug`).
Kōkua nā loiloi code i ka mālama ʻana i ka maikaʻi o ke code a me ka hoʻolaha ʻana i ka ʻike i loko o ka hui. Nānā pinepine nā mea loiloi:
– ʻOiaʻiʻo kūpono
- Ke kūlike o ke ʻano code
– Palekana (e.g. hōʻoia hoʻokomo)
- Ka hana a me kona hopena
– Loaʻa ka hoʻāʻo
Inā he mau hoʻoponopono, hoʻoponopono nā mea kōkua iā lākou ma ka lālā like a hoʻokuʻu hou; e hoʻohou hou ʻia ka PR.
8. Ke hoʻoponopono ʻana i ka paio (Merge Conflict)
Hana ʻia kahi hakakā ke hoʻopilikia ʻelua mau hoʻololi i ka ʻāpana like o kahi faila. No ka hōʻemi ʻana i ka hakakā:
– Huki pinepine mai ka lālā i manaʻo ʻia
- E hoʻokaʻawale pono i ka hana
– E hana i nā hana liʻiliʻi a i kuhikuhi ʻia
Inā kū mai kahi hakakā i ka wā o ka hui ʻana, hiki iā ʻoe ke:
1. E huki i nā hoʻololi hou loa:
"ʻahaʻaina hoʻokūkū"
hiʻona nānā/komo git
kumu kiʻi git
git merge kumu/nui
".
2. E hōʻailona ʻo Git i nā faila kūʻē. E wehe iā lākou, koho i nā hoʻololi kūpono, a laila:
"ʻahaʻaina hoʻokūkū"
git hoʻohui i ka inoa faila
git commit -m "E hoʻoholo i nā hakakā me ke kumu nui"
pahu kuʻi git
".
9. Ke hoʻohana nei i nā pilikia no ka hoʻokele hana
He mea pono ka hiʻohiʻona pilikia o GitHub no ka hoʻopaʻa ʻana i nā hana, nā hewa, nā manaʻo hiʻohiʻona, a i ʻole nā kūkākūkā. E hoʻohana i kahi ʻano maopopo:
– Poʻo inoa kikoʻī (e.g. “Kuʻi: ʻaʻole pane mai ka pihi hoʻouna ma ke kelepona paʻalima”)
– Wehewehe: nā ʻanuʻu hana hou, ke ʻano i manaʻo ʻia, nā hōʻike (nā kiʻi paʻi kiʻi/moʻolelo)
- Hoʻohui i nā lepili, nā milestones, a hāʻawi i ke kanaka kuleana
Me nā pilikia, loaʻa i nā hui kahi "papa inoa e hana ai" hiki iā lākou ke nānā, hoʻonohonoho i nā mea nui, a hoʻopili pololei i nā PR.
10. Papa Hana a me nā Pōʻaiapili no ka Hoʻolālā
Hāʻawi ʻo GitHub i nā Papahana (nā papa kanban) no ka hoʻonohonoho ʻana i ka hana i loko o nā kolamu e like me To Do, In Progress, a me Done. Kōkua kēia i ka ʻike ʻana i ka holomua, ʻoiai inā he nui nā pilikia a me nā PR o kahi hui.
He kūpono nā milestones no nā pahuhopu mana kikoʻī a i ʻole nā lā palena, e like me "v1.0." Hiki iā ʻoe ke hoʻohui i nā pilikia a me nā PR i loko o nā milestones e hahai i ka hoʻopau ʻana.
11. E mālama i ka maikaʻi me nā lula waihona
I mea e palekana a hoʻonohonoho pono ʻia ai ka laulima ʻana, e hoʻohana i nā hoʻonohonoho aʻe:
– Nā lula palekana lālā: pale i ka hoʻokuke pololei ʻana i ka `main`
– Ka loiloi PR koi ʻia ma mua o ka hoʻohui ʻana
– Ua hala ke kūlana hōʻoia koi ʻia (e.g. hoʻāʻo ʻāpana)
- E hoʻonohonoho i ka mea hiki ke hoʻohui
Ma kēia ala, hiki ke hoʻemi ʻia ka pilikia o ka hoʻokomo ʻana i ke code pilikia i ka lālā nui.
12. Nā Hana Maikaʻi Loa o ka Hana Pū ʻana ma GitHub
Eia kekahi mau hana maikaʻi loa a nā hui ʻoihana he nui e hoʻohana nei:
1. Nā hana liʻiliʻi a wehewehe: maʻalahi ke hahai a loiloi.
2. E hoʻohana i nā ʻano inoa lālā: kūlike a maʻalahi hoʻi e heluhelu.
3. Ka wehewehe piha ʻana o ka PR: e haʻi i ke ʻano, nā loli, a me ke ʻano hoʻāʻo.
4. E hoʻohana i nā template: Hoʻolalelale nā templates hoʻopuka a me nā template PR i ke kaʻina hana.
5. Hoʻopou hou mau ʻia nā palapala: README, CHANGELOG, a me ke alakaʻi hāʻawi.
6. Kamaʻilio maopopo: e hoʻohana i nā manaʻo PR/Issue no nā kūkākūkā loea e mālama iā lākou i hoʻopaʻa ʻia.
7. E hoʻohana i nā lepili a me nā hoʻokuʻu: e kaha i nā mana paʻa a e maʻalahi ka hoʻihoʻi ʻana.
Pani
ʻAʻole ʻo GitHub wale nō kahi e mālama ai i ke code, akā he ʻōnaehana hana hui piha hoʻi: mai ka hoʻomalu mana, nā kūkākūkā, ka hoʻokele hana, a hiki i ka loiloi code. Ma ka hoʻokō ʻana i kahi kahe hana e pili ana i ka lālā, nā noi huki, a me ka nānā ʻana i nā pilikia, hiki i nā hui ke hana ʻoi aku ka hoʻonohonoho ʻia, hōʻemi i ka hakakā, a hoʻomaikaʻi i ka maikaʻi o ka polokalamu. E hoʻomaka me nā hana maʻalahi e like me ka hoʻokumu ʻana i nā lālā, ka hoʻopuka mau ʻana i nā PR, a me ka palapala ʻana i nā loli. I ka hala ʻana o ka manawa, e lilo ka hui pū ʻana o ka papahana i ʻoi aku ka maikaʻi a me ka ʻoihana.