A holomua kumu hoʻohālike o ka lala ma Git

Ike pehea e hoʻohana Git mea nui, a me keia ka loaʻa o ka malama ana i ka hana kūpono 'ana kaiapuni manageable lako polokalamu.

ai ho'ēmi '

Kēia Post He He 'ōlelo kēia Pukiki, o ka palapala, ma English, “Aʻana Git ai manamana ai kükohu“, pono hoomanaia mai au e ka mea kākau, HIHIHI Driessen. Mahalo 'oe ke kanaka!

No ka iiaie oaoieei nīnūnē, kekahi mau hua'ōlelo hou i purposely mālama i loko o English. Aʻu i hoao e hōʻoia i ka originality o ke kikokikona, akā, ke hai pono aku nei au i ai i ka hoʻoponopono 'e, e kōkua ai ka naʻauao i loko o kā mākou' ōlelo (PT-br). Kekahi? Iaea a kamaʻilio no ka hana hou i loko o ka unuhi ka hookipa ana.

Introduction

Kēia mea,ʻaʻole he wahi e ao ana i ka hoʻohana 'Git. Inā keia ka mea nele, I paipai e lawe i ka nana aku i Manual hana Git. ʻAʻole ka mea mākou pahu hopu i hōʻike pehea e e ka lako polokalamu versioning, ma keia hihia, nana Semantic versioning.

Eia ka olelo mea e kahu ai hui laulima ma ka lako polokalamu versioning. ike no oe ia oe i mau programmers “hooeueu ana” i loko o ka hookahi kumu kuhi? He mea nui ke oia i ulu, akā, hiki paha nui headache (poho a me ka rework) ina aole he mana. E pale aku i nā mea haku polokalamu, mai overwriting kekahi i ka hana, a hōʻoia 'e holumua ai ulu a me ka hoʻonohonoho, minimizing pāonioni paʻa a me ka mālama 'ana i lako polokalamu hookuu aku oia i, e mākou hana Git a me kükohu na lala mua.

lala kükohu

Ma keia wahi aʻu e haawi i ka hooulu ana ÷ au ia i loko o kekahi o kaʻu mau papahana (nā ma ka hana a me ka paulele i ka hoʻomana) kokoke 1 makahiki aku nei, a ka mea, ua i loa holomua. Kekahi manawa aku nei au makemake e kākau e pili ana ia, akā,ʻaʻole loa ia i ka loaʻa manawa, no laila, a hiki. Au e e kamailio no ka pāhana lāliʻi, pono e pili ana i ka hoʻoneʻe kaua na lala a me ka hooponopono hookuu aku oia i.

Kēia kumu hoʻohālike ole wale o ka wepa Git i kahi mea paahana no ka versioning o ko nā mea a pau mākou kumu kuhi. (Incidentally, ina e hoihoi oe i loko o Git, mākou hoa a pau GitPrime i nā, maoli-manawa, kekahi mea kupaianaha KālailaiʻIkepili i ka lako polokalamu 'enekinia, kaʻoi loa)

ia git?

No ka hoʻokolokolo pono kūkākūkā o ka pros a me ka hooluolu ana o Git hoʻohālike au i centralized kumu ke kāohi nenoai, nana he pūnaewele puni honua. Aia He He weliweli “kaua” a puni ia. like me ka mea haku polokalamu, I makemake Git i pili i nā mea a pau'ē aʻe nei hana i keia la. Git kanalua hoʻololi i ke ala haku polokalamu manaʻo e pili ana i ka hana ana i kekahi merge ole, e kāinoa i kekahi lala. I hele mai, mai ka panina ao nei CVS / Subversion, kahi merging / ai manamana ai He mea 'oe wale nō, hoʻokahi nō hana i loko o ka manawa a me ia mau mea he uuku scary (“E ao oukou no kāna hana e lawelawe o merge, ka mea, nahu mai oe!”).

Ano, Git i kēia mau hana [merging / ai manamana ai] Ka mea mau loa na mea a ho i kekahi kumu nui loa o ko mākou hana oaeouee?, manaoio. no ka mea, hoohalike, ʻaʻole puke CSV / Subversion, ai manamana ai e ka merging e uhi lakou no ka manawa mua wale nō ma hope Mokuna (no ka holomua mea hoʻohana), ana ma kekahi puke ma luna o Git, keia ua ike ma ka Mokuna 3 (kumu o).

E like me ka hopena o kona naau kupono, a repetitiveʻano, ai manamana ai e ka merging Ka mea, e hou i kekahi mea e e makau. maoli, ka mana e hooponopono i na mea paahana e kōkua emerge a ho okumu i lala oi ma mua o kekahi mea e ae.

lawa o anakuhi, e ka hooulu ana kŘkohu. Ke kükohu mea aʻu e haawi iʻaneʻi meaʻano nui, aole oi ma mua o ka lākou o nā kaʻina hana i kēlā me kēia hui lala pono e hahai i ka mea e kiʻi i kekahi kauoha aku lako polokalamu ulu kaʻina.

decentralized, oi centralized

Ka waihona AUOO ia ke hana, a ua hana nui loa me keia palapala ai manamana ai Ua Ua haku o ke kikowaena waihona. E noke i keia waihona mea pono “noonoo” Central (no ka mea, Git mea he DVCS [Haawi Version Na Makuahine Systems], i na olelo, aohe mea e like me he kikowaena waihona ma luna o ka 'ilikai oaoieei-). Mākou, eʻano a hiki i kēia waihona like me Kinohi, mai keia inoa mea kama'āina i nā mea hoʻohana Git.

Kēlā me nā mea haku polokalamu mea pulls e ka pushes ma me Kinohi. Akā, ma o aku o ka pilina pahu-huki no ka centralized [me Kinohi], kēlā me kēia mea haku polokalamu hiki i hopu [hoohiolo] loli no nā na¯ e lilo Subteams. no ka mea, hoohalike, keia hiki e pono e hana me elua a oi haku polokalamu ma luna o kekahi kumu nui hou functionality, mua o ka hoʻouna ' [e hookuke] i ka hana ma ka holo no me Kinohi. I ka luna, neia manawa, ua iiaciiie-nâ hui o Alice a me Bob, Alice Hawaii David, e ka Clair a me David.

Technically, keia o ia hoʻi, aohe mea oi ma mua o Alice ua ho'ākāka 'ia ke keʻena Git, o Bob, kuhikuhi i Bob ka waihona, a me ka hope-versa.

Ka papa kuhikuhiE lālā

ma ka hope, Ua hooulu kükohu ua hala loa lana e na Ke Ana Hoʻohālike mai laila. Ke kikowaena waihona i kona mau lala elua [na lala] e alakai i ka ola pau ole:

  • haku
  • hoʻomōhala

ka lala haku iloko o me Kinohi E e kama'āina i nā mea hoʻohana Git. ia laua i lala haku, he mea kekahi lala i kapaia o hoʻomōhala.

ua noonoo me Kinohi / haku like me ka ka papa kuhikuhiE lala ma ke kumu kuhi POʻO mau Hōʻike 'o ka moku'āina ? iecaianoaaiiuo-makaukau [makaukau no ka? iecaianoaaiiuo].

ua noonoo me Kinohi / hoʻomōhala like me ka lala kahi i ka papa kuhikuhiE kumu POʻO mau Hōʻike 'o ka moku'āina a me ka mea hope developmental loli e e haawi i ka mea e hiki mai ana ke kala. e kapa aku i kekahi mea “lala hoʻohui '”. A ma ka loa sinister? Ieoaeunoaa iauaeoia hiki mai ana.

A lohe ke kumu kuhi i loko o ka lala hoʻomōhala he paa wahi kīnā a me ka mea kokoke no ia e kuu [nolaila ia i kuu], a pau hoʻololi pono e merged [merged] i hope i ka lala haku a laila ia me ka mana helu [hookuu]. Pehea keia ua hanaia ma ka au mamuli, ua kūkā mai no hoi ia.

nolaila,, kēlā manawa i nā loli i hoohui [merged] hoʻi i ka haku, Ua Ua ua loaʻa i ka hou mana [nolaila ia i kuu], ma ka wehewehena. E ho'āʻo i ka e loa ikaika e pili ana ia, alaila,, theoretically, Oe ke hiki ke hoʻohana i ka kōmi'ōkuhi makau Git e 'akomi' hana, a hoouna aku mākou noi i ka? Iecaianoaaiiie KikowaenaUa manaʻo mea he hana ʻaʻole haku.

kākoʻo lālā

kaʻaoʻao o ka na lala ka papa kuhikuhiE, haku e ka hoʻomōhala, mākou hooulu kükohu hoʻohana i keʻano o ka na lala kākoʻo, e kokua i ka i ka wā hoʻokahi 'ana ma waena o kēlā me kēia haumāna, mea 1) kōkua ai i nā ka ka hoʻokoloʻana o ka hou hiʻona [hiʻona], 2) prepares no ka haawi ana i ka mana hou [hookuu] e ka 3) Ua kōkua i koke koho flaws i? Iecaianoaaiiuo [hotfix]. Haʻalele na lala ka papa kuhikuhiE, estes na lala Ua he He pōkole ola kīkoʻo kona, no ka mea, e ho'ōla e wehe.

Keʻano o ka na lala [kākoʻo] ua hiki ke hana, ka mea, e:

  • Ka makamake nui o na lala
  • Release lālā
  • Hotfix lālā

Kēlā me kēia no kēia mau na lala Ua loaʻa he mau 'manao, a ua paa ia ma ka ikaika rula, no laila, ua, na lala hiki ke hoolawaia ma lala a me ka na lala Ka mea, e ke merged [merged] ko lakou mau pale. Eʻike mākou i kēlā me kēia [na lala] ma awhile.

Mai ka oaoieei-kuanaʻike, poe na lala Ka mea, i ole manaoia “kūikawā”. Kēlā me kēiaʻano o ka lala Ua Ua CATEGORY_NAME ma ke ala, ua hana. ultimately, Ka mea, e pono na mea na lala no ka Old Git.

Ka makamake nui o na lala

[Hiʻona = hiʻona / functionality]

– Oe hiki lala [lala] mai:
hoʻomōhala
– Ua hui pu [merge] hou:
hoʻomōhala
– Hea ka Aha-elele o lala:
i kekahi mea, koe nae haku, hoʻomōhala, release- *, ole hotfix- *

i ka hiʻona lālā (ai kekahi manawa, i kapaia o kumuhana lālā) Ka mea, i hoʻohana 'ia e hoʻoikaika hou hiʻona / functionality no ka wā e hiki mai hookuu paha kekahi. Ka wā e hoʻomaka ana i ka ulu ana o ka hiʻona, i ka pale kaua kala ma a keia hiʻona e e hoohui i pono e ike ole ia ma keia wahi.

Ke ae pā o ka hiʻona lālā mea i koe ana hiʻona e ulu, akā, ka mea, e ho'ōla e hoohui [merged] hoʻi i ka hoʻomōhala (e paʻa hoʻohui i ka hou hiʻona ka mea e hiki mai ana hookuu) ole i kāpaeʻia (ma ka hihia o ka pomaikai ole oe ka hoao ana).

Ka makamake nui o na lala nō kāu nei wale nō i loko o ka waihona hoʻomōhala, ole ma me Kinohi.

E pili ana i ka hiʻona mau lala

$ git a Kūʻai -b. myfeature hoʻomōhala
# Switched to a new branch "myfeature"

Ka hoʻohuiʻana i ka hoʻopauʻana o ke hiʻona ma Kūkulu

hiʻona finalized hiki ke merged[merged] me ka lala hoʻomōhala e hui ia paʻa i ka mea e hiki mai ana hookuu.

$ git a Kūʻai hoʻomōhala
# Ua hō'ā i ka lālā 'hoʻomōhala'
$ git hele --ʻaʻole-ff myfeature
# ke hōʻano hou ea1b82a..05e9557
# (Summary o ka loli)
# $ git lala -d myfeature
# Holoiʻia lala myfeature (ua 05e9557).
$ git pahu aku ai i Kinohi hoʻomōhala

A ia? aiina –ole-ff Ka mea, ke kumu o ka merge [merge] mau hana i ka hou mea hana, a hiki ina ka merge hiki ke hana me ka hoʻokēʻai-i mua [ff]. Kēia hookaaokoa ae mai o losing ike e pili ana i ka mōʻaukala o ke ola o ka hiʻona lala, Hoʻohui 'ia a pau hana Ka mea, no, hui pu ia hiʻona. Hoʻohālikelike:

No hope hihia [pohihihi luna], he mea hiki ole ke ike mai i ka Git moʻolelo i o hana Ka mea, Ua hoʻokō i loko o ka hiʻona; oe makemake i ka heluhelu hana lima a pau i ke kaola memo. reversing ka hiʻona a pau (i na olelo, ka pūʻulu hana), He He maoli headache i loko o ka hope pilikia, oiai ka mea, ua hikiwawe hana ina ka hae –ole-ff Ua Ua ua hoʻohana.

SIM, keia, e hana ana i kekahi mau mea hou hana (me ka nele), akā, me ka waiwai, ua nui oi aku ma mua o ka waiwai e lilo aku.

Release lālā

[Release = hookuu / e hānau ai / hoʻokuʻu]

– Oe hiki lala [lala] mai:
hoʻomōhala
– Ua hui pu [merge] hou:
hoʻomōhala e ka haku
– Hea ka Aha-elele o lala:
release- *

i ka hookuu aku oia i na lala kōkua ma ka hoomakaukau ana i ka iiauo i? iecaianoaaiiuo mana [? iecaianoaaiiuo hookuu]. Ka mea, ae oe, e kau kiko o ka i, ka hope minuke i. eia hoi, ka mea, ae uuku mākaʻi kiaʻi pilikia a me ka wehewehena o meta-ʻikepili no ka hookuu (mana ka helu, compilation nā lā, a pela aku). Ma ka hana keia hana a pau i loko o ka hookuu lala, ka hoʻomōhala lala ua i hooakea ai i ka loaa hiʻona ka mea e hiki mai ana nui hookuu [mana].

Ke ki manawa e hana i kekahi hou hookuu lala ai manamana ai o hoʻomōhala o ka wā o ka hoʻomōhala ia mea ua (ʻaneʻane) hōʻikeʻana i ka makemake ana o ka hou hookuu [mana]. a pau hiʻona moho no ka hookuu ia e kukulu pono e hoohui [merge] i ka hoʻomōhala kēia manawa. ua hiʻona ke alo hookuu aku oia i wā e hiki mai e manaʻo nei e hiki mai ana hookuu [mana].

Ua pono ia i ka hoʻomaka o ka hookuu lala ka mea e hiki mai ana hookuu hookipa mai i ka mana helu – ole ma mua. a laila,, ka hoʻomōhala lala lewa loli ai i ka “aʻe hookuu” [kekahi mana], akā, ia mea unclear paha keia “kekahi mana” E ho'ōla e 0.3 ai ole ia, 1.0, a hiki i ka hookuu lala Ka hoʻomaka 'ana. Keia olelo hooholo ua ia i ka hoʻomaka o ka hookuu lala a ka mea, ua paa ma na rula o ka papahana ma luna o versioning [I paipai ike e pili ana i “Semantic versioning“].

E pili ana i ka hookuu lala

i ka hookuu aku oia i na lala Ka mea i hanaia, mai ka hoʻomōhala lala. no ka mea, hoohalike, aku nei au i ka mana 1.1.5 He ka he? Iecaianoaaiiuo kēia, a i ka nui hookuu e hele mai ana. Ka moku'āina o hoʻomōhala Ua makaukau no ka “kekahi mana” [aʻe hookuu] a ua hoʻoholo i kēia e lilo i ka mana 1.2 (ma ka lieu o 1.1.6 ai ole ia, 2.0). alaila,, ramificamos iā mākou, a lawe mākou i ka hookuu lala he inoa hōʻikeʻana i ka hou mana helu:

$ git a Kūʻai -b. hookuu-1.2 hoʻomōhala
# Switched to a new branch "release-1.2"
$ ./kuia ke-mana.sh 1.2
# Waiho ai i ia mau ala ana, mana kuia ke i 1.2.
$ git hana -he -ka m "Bumped version number to 1.2"
# [hookuu aku oia i-1.2 74d9424] Kuia ke mana helu i 1.2
# 1 AEIU hoʻololi, 1 hookomo(+), 1 holoi '(-)

Ma hope e pili ana i ka hou lala a me ka nānā 'ana i ia, ua kuia i ka mana helu. ʻaneʻi, bump-version.sh He He iwi kōmi'ōkuhi e hoʻololi kekahi hana kope AEIU, e noonoo i ka hou mana. (keia e hiki, maopopo, e ka manuale loli – ka wahi mea i kekahi AEIU hoʻololi i.) alaila,, Ua ua i hana o ka Hoʻololi 'mana helu.

keia hou lala paha e malaila no kekahi manawa, a hiki i ka hookuu ua hope, kuu. I loko o kēia wā, pilikia fixes Hiki ke noi i loko o keia lala (kahi o hoʻomōhala lala). Ka hou o ka nui hou hiʻona ʻaneʻi ua pololei pāpā. Ka mea, e ke merged [merged] iloko o hoʻomōhala e ka, no laila,, kali no ka mea e hiki mai ana nui hookuu.

Hoʻopau i ka hookuu lala

ka wā o ka hookuu lala He makaukau e lilo i maoli mana, kekahi mau hana pono ia e hana. mua, ka hookuu lala Ua Ua merged i loko o haku (hope o kēlā me kēia hana ʻaʻole haku He He hou mana ma ka ho'ākāka 'ana, hoomanao). laila, i hana ʻaʻole haku It E e kaha maha no ka maʻalahi wā e hiki mai olua i keia mana mōʻaukala. hope, hoʻololi i ka hookuu lala Ka mea, Pono, e ke merged [merged] hou i ka hoʻomōhala, no laila, ua hookuu aku oia i wā e hiki mai i pihaʻi me keia mau pilikia fixes.

Ka mua mau anuu ma Git:

$ git a Kūʻai haku
# Ua hō'ā i ka lālā 'haku'
$ git hele --ʻaʻole-ff hookuu-1.2
# Merge i ma recursive.
# (Summary o ka loli)
$ git Tag -he 1.2

ka hookuu He manawa loa, a hoʻopaʻa 'no ka wā e hiki mai i maopopo nä haumäna.

i hoʻopuka: oe ke hoi hoʻohana i nā lepa -s a -u e kakau i kou Tag cryptographically.

E malama i na mea hou i loko o hookuu lala, mākou pono, e olokaa ae ia hoʻi i ka hoʻomōhala. i Git:

$ git a Kūʻai hoʻomōhala
# Ua hō'ā i ka lālā 'hoʻomōhala'
$ git hele --ʻaʻole-ff hookuu-1.2
# Merge i ma recursive.
# (Summary o ka loli)

Kēia ka anu u ke alakai i ka merge kue (paha e hele, koke ke hoʻololi i ka mana helu). inā no laila,, hoʻoponopono a me ka hana hana.

Ano, maoli, ua pau, ka hookuu lala Ua hiki ke wehe 'ia, hope mākou hou pono ia:

$ git lala -b hookuu-1.2
# Holoiʻia lala hookuu-1.2 (ua ff452fe).

Hotfix lālā

– Oe hiki lala [lala] mai:
haku
– Ua hui pu [merge] hou:
hoʻomōhala e ka haku
– Hea ka Aha-elele o lala:
hotfix- *

i ka Hotfix lālā Ka mea, mau mea i like loa me hookuu lālā, ka mea, i kekahi manao e hoomakaukau i kekahi iiauo i? iecaianoaaiiuo mana, eia nae unplanned. Ka mea, e alaʻe mai ka pono e hana koke ma hope o ka hua'ōlelo i makemake moku'āina o ka? Iecaianoaaiiie mana [ma ka hoʻohana]. I ka wā o ka pilikia hewa ia lŘlŘ i loko o ka? Iecaianoaaiiie mana, Ua pono e kakau koke, laila kekahi hotfix lala Ua hiki ke loko mai o ka lepili i ka hoailona o ka na-i? Iecaianoaaiiuo kēia i loko o haku lala.

ʻO Mānoa, he wahi ia o ka hana o ka me kēia haumāna (ʻaʻole hoʻomōhala lala) hiki ke hoʻomau, ana kekahi ua hoʻomākaukau i ka kokololio? iaea o ka ole i? iecaianoaaiiuo.

E pili ana i ka hotfix lala

i ka hotfix lālā Ka mea i hanaia, mai ka haku lala. no ka mea, hoohalike, holoholo i ka mana 1.2 He ka papa hoʻokolohua o ke kala o ka iecaianoaaiiuo e holo mai ana, a i kekahi mau pilikia ma muli o ia i ka nui hewa. hoʻololi i ka hoʻomōhala e waiho ana i ka malie lolelua ka. Mākou hiki laila lala i kekahi hotfix lala a hoʻomaka i ke hoʻoponopono i ka pilikia:

$ git a Kūʻai -b. hotfix-1.2.1 haku
# Switched to a new branch "hotfix-1.2.1"
$ ./kuia ke-mana.sh 1.2.1
# Waiho ai i ia mau ala ana, mana kuia ke i 1.2.1.
$ git hana -he -ka m "Bumped version number to 1.2.1"
# [hotfix-1.2.1 41e61bb] Kuia ke mana helu i 1.2.1
# 1 AEIU hoʻololi, 1 hookomo(+), 1 holoi '(-)

Mai poina i ka hoʻololi 'ana i ka mana ka helu ma hope ai manamana ai!

laila, paʻipaʻi i ka hewa a me ka hana i ka hana ? iaea i loko o hoʻokahi a oi hana hookaawale.

$ git hana -ka m "Fixed severe production problem"
# [hotfix-1.2.1 abbe5d6] Paa loa? Iecaianoaaiiuo pilikia
# 5 AEIU hoʻololi, 32 hookomo(+), 17 holoi '(-)

Finalizing i kekahi hotfix lala

ka wā pau, ka bugfix Oe Pono e e merged hoʻi i haku, akā, i pono ia e hoohui hoʻi i loko o hoʻomōhala, e hōʻoia i ka bugfix Ua Ua kekahi hui pū i loko o ka aʻe kalaʻana. He mea nō i 'ano like me ke ala hookuu lālā ka mea, i finalized.

mua, IeAIIeXIAaIEN haku a me ka Tag hookuu [e kaha i ke kauwela]:

$ git a Kūʻai haku
# Ua hō'ā i ka lālā 'haku'
$ git hele --ʻaʻole-ff hotfix-1.2.1
# Merge i ma recursive.
# (Summary o ka loli)
$ git Tag -he 1.2.1

i hoʻopuka: oe ke hoi hoʻohana i nā lepa -s a -u e kakau i kou Tag cryptographically.

laila, nā ka bugfix ʻaʻole hoʻomōhala no hoi:

$ git a Kūʻai hoʻomōhala
# Ua hō'ā i ka lālā 'hoʻomōhala'
$ git hele --ʻaʻole-ff hotfix-1.2.1
# Merge i ma recursive.
# (Summary o ka loli)

Ka mea wale nō koe nae i ka rulaʻaneʻi ka mea, ia aia no he hookuu lala underway, hoʻololi i ka hotfix Ka mea, Pono, e ke merged no keia hookuu lala, kahi o hoʻomōhala. merge bugfix ʻaʻole hookuu lala e i ka bugfix e merged ma hoʻomōhala no hoi, ka wā o ka hookuu lala ua pau. (Inā i ka hana i loko o hoʻomōhala koke pono keia bugfix a ua hiki ole kali a hiki i ka hookuu lala ua pau, oe ke paa merge bugfix no ka mea, deveolp pū.)

hope, wehe i ka lala ? aiaiiuie:

$ git lala -b hotfix-1.2.1
# Holoiʻia lala hotfix-1.2.1 (ua abbe5d6).

hōʻuluʻulu manaʻo

'Oiai, aohe mea maoli kekahi i loko o keia lala kŘkohu, ka huahelu ma ka hoʻomaka o ke kia hiki e loa pono keia mau mea i loko o ko kākou mau papahana. Ua hōʻike i ka mea noʻonoʻo kükohu e maopopo a leie aku me kēia haumāna e kūkulu i ka hoʻomaopopo like 'ana o keʻano o ka hanaʻana ai manamana ai e ka ka hoʻokuʻu '.

A PDF mana o kbps huahelu ua hoakaka ia ma ka palapala moʻomanaʻo moʻomanaʻo: http://nvie.com/posts/a-successful-git-branching-model/ ['ole ma o ka Download loulou ma lalo iho nei]. E mamua, a kau aku ia ma luna o ka pā pōhaku no ka poe ola, i maopopo nä haumäna i kekahi manawa.

ikona

Git-ai manamana ai-kükohu-20170825.pdf
3.89 MB 116 download

mea kākau: HIHIHI Driessen
Original Blog: http://nvie.com/
laikini: CC BY-SA

Total accesses: 2313

Waiho i ka Reply

Ko oukou mail aae? E, aole e paʻiʻia. ua hoailono aku la i kauoha ia kula *