A aseyori awoṣe ti ẹka ni Git

Mọ bi o lati lo Git ni pataki, ki o si yi pẹlu mimu a ti ibaṣepọ idagbasoke ayika manageable software.

kirediti

Eleyi Post ni a Portuguese version of atilẹba, ni ede Gẹẹsi, “A aseyori Git branching awoṣe“, duly ni aṣẹ nipasẹ awọn onkowe, Vincent Driessen. O ṣeun ọkunrin!

Fun imọ oran, diẹ ninu awọn koko won purposely pa ni English. Mo gbiyanju lati rii daju awọn originality ti awọn ọrọ, sugbon mo jewo pe mo ni lati ṣe awọn atunṣe lati dẹrọ oye ninu wa ede (PT-BR). Eyikeyi atunse tabi aba fun yewo ni translation ni kaabo.

ifihan

Eleyi jẹ ko kan post kọ awọn lilo Git. Ti o ba ti yi ni ohun ti o nilo, Mo daba mu a wo ni Afowoyi ṣe Git. Tabi ni o wa ìlépa lati fi bi o lati ṣe kan software versioning, ninu apere yi, wo atunmọ versioning.

Nibi si imọran ni lati ṣakoso awọn egbe ifowosowopo ni software versioning. O mọ nigba ti o ba ni ọpọ pirogirama “saropo” ni kanna orisun koodu? Eleyi jẹ pataki lati titẹ idagbasoke, ṣugbọn le se ina tobi orififo (pipadanu ati rework) ti o ba ti nibẹ ni ko si Iṣakoso. Lati se kan Olùgbéejáde lati overwriting miran ká ise ati rii daju onitẹsiwaju idagbasoke ati ki o ṣeto, dindinku ija ati idari software tu, ma a lo Git ati awoṣe ẹka tẹle.

awoṣe ẹka

Ni yi post Mo ti mu awọn idagbasoke awoṣe ti mo ti lo ni diẹ ninu awọn ti mi ise agbese (mejeeji ni iṣẹ ati ni ikọkọ) nipa 1 odun seyin, ati awọn ti o ti wa gidigidi aseyori. Diẹ ninu awọn akoko seyin ni mo ti fe lati kọ nipa o, ṣugbọn kò ri ohun wa akoko, ki jina. Mo ti yoo ko soro nipa ise agbese alaye, o kan nipa ogbon ẹka ati isakoso tu.

Awoṣe yi fojusi ti iyasọtọ lori Git bi awọn kan ọpa fun versioning ti gbogbo wa orisun koodu. (Incidentally, ti o ba ti o ba ti wa nife ninu Git, wa ile- gitpri to pese, gidi-akoko, diẹ ninu awọn iyanu data onínọmbà to software ti ina- ti o dara ju)

ti o Git?

Fun kan nipasẹ fanfa ti awọn Aleebu ati awọn konsi ti Git akawe si aarin orisun iṣakoso awọn ọna šiše, wo a ayelujara. Nibẹ ni a awqn “ogun” ni ayika ti. bi a developer, Mo fẹ Git ni ibatan si gbogbo awọn miiran wa telẹ irinṣẹ loni. Git laiseaniani yi pada ni ọna Difelopa ro nipa ṣiṣe a dapọ tabi ṣẹda a eka. Mo wá lati kilasika aye CVS / subversion, ibi ti toôroô / Eka O ti wa ni ohun ti o nikan ṣe lẹẹkan ni kan nigba ati awọn ti o nigbagbogbo dabi kekere kan idẹruba (“Kiyesara ija ti dapọ, nwọn jáni o!”).

Bayi Git wọnyi išë [toôroô / Eka] Wọn ti wa ni lalailopinpin o rọrun ati ki o soju kan pataki ara ti wa ise baraku, gbagbo. fun apẹẹrẹ, ko si iwe CSV / subversion, branching e parapo Wọn ti wa ni bo fun igba akọkọ nikan ni nigbamii ori (fun to ti ni ilọsiwaju awọn olumulo), nigba ti ni eyikeyi iwe kan lori Git, yi ti ni ti ri ninu ipin 3 (ipilẹ).

Bi awọn kan abajade ti awọn oniwe-ayedero ati irọrun iseda, branching e parapo Wọn ti wa ni ko gun nkankan lati wa ni bẹru. nitõtọ, awọn ti ikede iṣakoso irinṣẹ yẹ ki o ran o ṣedapọ ki o si ṣẹda eka diẹ ẹ sii ju ohunkohun miiran.

to Ọrọ, jẹ ki awọn idagbasoke awoṣe. Awọn awoṣe ti emi o mu nibi jẹ pataki ohunkohun siwaju sii ju kan ti ṣeto ti ilana ti kọọkan egbe omo egbe gbọdọ tẹle ni ibere lati gba lati kan isakoso software idagbasoke ilana.

decentralized, diẹ si aarin

Awọn ibi ipamọ setup ti a lo ati awọn ti o ṣiṣẹ gan daradara pẹlu awoṣe yi branching O ti wa ni kq a aringbungbun ibi ipamọ. Akiyesi pe yi ipamọ ni o kan “kà” aringbungbun (nitori Git ni a DVCS [Pin Version Iṣakoso Systems], ninu awọn ọrọ miiran, nibẹ ni ohunkohun bi a aringbungbun ibi ipamọ lori kan imọ ipele). A yoo tọkasi lati yi ipamọ bi Oti, niwon yi orukọ jẹ faramọ si gbogbo awọn olumulo Git.

Kọọkan Olùgbéejáde ni fa e ti i on Oti. Ṣugbọn ni ìha keji ibasepo Titari-fa fun aarin [Oti], kọọkan Olùgbéejáde tun le yẹ [Fa] ayipada fun awọn miiran egbe lati dagba Subteams. fun apẹẹrẹ, yi le jẹ wulo lati ṣiṣẹ pẹlu awọn meji tabi diẹ ẹ sii Difelopa lori pataki kan titun iṣẹ, fifiranṣẹ awọn tẹlẹ [titari] awọn ise ni ilọsiwaju fun Oti. Ni awọn loke, nibẹ ni o wa iha-egbe ti Alice ati Bob, Alice e David, e Clair ati David.

tekinikali, yi tumo si ohunkohun siwaju sii ju Alice ti telẹ a latọna Git ti a npè ni Bob, ntokasi si Bob ká ibi ipamọ, e Igbakeji-idakeji.

Awọn ifilelẹ ti awọn ẹka

ni pada, Yi idagbasoke awoṣe ti wa ni oyimbo atilẹyin nipasẹ wa tẹlẹ si dede jade nibẹ. Awọn aringbungbun ibi ipamọ ni o ni meji ẹka [ẹka] yori si ohun ailopin aye:

  • titunto si
  • se agbekale

awọn eka titunto si ni Oti yẹ ki o wa faramọ si gbogbo olumulo Git. ni afiwe si eka titunto si, nibẹ ni miran eka ti a npe ni se agbekale.

a ro Oti / titunto si bi awọn ifilelẹ ti awọn eka ibi ti awọn orisun ori nigbagbogbo tan imọlẹ kan ipinle gbóògì-setan [setan fun gbóògì].

a ro Oti / dagbasoke bi awọn eka ibi ti awọn ifilelẹ ti awọn orisun ori nigbagbogbo imọlẹ a ipinle pẹlu awọn titun idagbasoke ayipada lati wa ni fi ninu tókàn Tu. Diẹ ninu awọn yoo pe o “eka Integration”. Ti o ni ibi ti awọn iwa ọdaran constructions ṣẹlẹ.

Nigba ti o ti orisun koodu ninu awọn eka se agbekale Gigun kan idurosinsin ojuami ati ki o jẹ setan lati wa ni tu [tu], gbogbo awọn ayipada gbọdọ wa ni ti dapọ [ti dapọ] lati se afehinti ohun awọn eka titunto si ati ki o si samisi pẹlu a version nọmba [Tu]. Bawo ni yi ti ni ṣe ninu awọn apejuwe, ti wa ni sísọ siwaju.

nitorina, kọọkan akoko awọn ayipada ti wa ni dapọ [ti dapọ] pada si titunto si, O ti wa ni ti ipilẹṣẹ a titun ti ikede [tu], nipa definition. A gbiyanju lati jẹ gidigidi o muna nipa o, ki o si, oṣeeṣe, O le ani lo a akosile kio Git to laifọwọyi ṣẹda ki o si fi wa elo to isejade server nigbakugba ti o wa ni a ko si titunto si.

ẹka oluranlowo

lẹgbẹẹ awọn ẹka akọkọ, titunto si e se agbekale, wa idagbasoke awoṣe nlo a orisirisi ti ẹka support lati ran awọn igbakana idagbasoke laarin egbe omo egbe, ohun 1) sise ni titele ti titun awọn ẹya ara ẹrọ [awọn ẹya ara ẹrọ], 2) o šetan fun oba ti a titun ti ikede [Tu] e 3) O ṣe iranlọwọ lati ni kiakia fix awọn abawọn ninu gbóògì [Hotfix]. Ko ẹka akọkọ, Estes ẹka O ni o ni a kukuru aye igba, niwon o yoo bajẹ wa ni kuro.

Awọn yatọ si orisi ti ẹka [oluranlowo] a le lo, ti won wa ni:

  • Ẹya-ara ẹka
  • Tu ẹka
  • Hotfix ẹka

Kọọkan ninu awọn wọnyi ẹka O ni o ni kan pato idi si ti wa ni alaa nipa awọn ti o muna ofin, ki, ẹka le eka ati ẹka Nwọn yẹ ki o wa ti dapọ [ti dapọ] wọn fojusi. A yoo ri kọọkan [ẹka] ni igba die.

Lati a imọ irisi, awon ẹka Wọn ti wa ni ko kà “pataki”. Kọọkan iru ti eka O ti wa ni tito lẹšẹšẹ nipa awọn ọna ti a lo. be, Wọn ti wa ni o kan o rọrun ẹka fun Old Git.

Ẹya-ara ẹka

[Awọn ẹya ara ẹrọ = ẹya ara ẹrọ / iṣẹ]

– O le eka [eka] lati:
se agbekale
– o mingle [dapọ] lẹẹkansi:
se agbekale
– Loruko Adehun ti eka:
ohunkohun, ayafi titunto si, se agbekale, release- *, tabi hotfix- *

awọn ẹya-ara ẹka (tabi ki o ma ti a npe ni koko ẹka) Wọn ti wa ni lo lati se agbekale titun awọn ẹya ara ẹrọ / iṣẹ fun ojo iwaju Tu tabi tókàn. Nigbati ti o bere awọn idagbasoke ti a ẹya-ara, awọn afojusun Tu ninu eyi ti ẹya ara ẹrọ yi yoo wa ni dapọ le daradara wa ni aimọ ni aaye yi.

Awọn lodi ti a ẹya-ara ẹka ti o wa nigba ti ẹya-ara ti wa ni sese, ṣugbọn o yoo bajẹ wa ni dapọ [ti dapọ] pada si se agbekale (to patapata fi awọn titun ẹya-ara nigbamii ti Tu) tabi danu (ninu awọn idi ti ohun yanju iriri).

Ẹya-ara ẹka ojo melo tẹlẹ nikan ni awọn ibi ipamọ se agbekale, ko ni Oti.

Ṣiṣẹda a ẹya-ara ẹka

$ Git isanwo -b myfeature se agbekale
# Switched to a new branch "myfeature"

Palapapo a ti pari ẹya-ara lori Dagbasoke

Awọn ẹya ara ẹrọ fipinu le ti wa ni ti dapọ[ti dapọ] pẹlu eka se agbekale lati fi wọn patapata si tókàn Tu.

$ Git isanwo se agbekale
# Switched si eka 'se agbekale'
$ Git ajanpọ --ko si-FF myfeature
# Nmu ea1b82a..05e9557
# (Ni ṣoki ti awọn ayipada)
# $ Git eka -D myfeature
# Paarẹ eka myfeature (je 05e9557).
$ Git titari Oti se agbekale

A flag –ko si-FF O fa ajanpọ [dapọ] nigbagbogbo ṣẹda titun kan ohun , paapa ti o ba ajanpọ le wa ni ošišẹ ti pẹlu kan sare-siwaju [FF]. Eleyi avoids ọdun alaye nipa awọn itan ti awọn aye ti a ẹya-ara eka, kikojọ gbogbo d Won ni won fi kun si ẹya-ara. afiwe:

Ko si igbehin nla [ro ero loke], o jẹ soro lati ri lati Git itan eyi ti o ti d Won ni won muse laarin a ẹya-ara; o yoo ni lati ọwọ ka gbogbo log awọn ifiranṣẹ. reversing ohun ẹya-ara gbogbo (ninu awọn ọrọ miiran, ẹgbẹ kan d), O ti wa ni a gidi orififo ni igbehin ipo, nigba ti o ti wa ni awọn iṣọrọ ṣe ti o ba awọn Flag –ko si-FF O ti a ti lo.

Sim, yi yoo ṣẹda kan diẹ diẹ ohun d (sofo), ṣugbọn awọn ere jẹ Elo tobi ju awọn iye owo.

Tu ẹka

[Tu = Tu / ifijiṣẹ / Tu]

– O le eka [eka] lati:
se agbekale
– o mingle [dapọ] lẹẹkansi:
se agbekale e titunto si
– Loruko Adehun ti eka:
release- *

awọn tu ẹka ran ni ngbaradi titun kan gbóògì version [gbóògì Tu]. Wọn ti gba o laaye lati gbe aami awọn i ká kẹhin iseju. Jubẹlọ, nwọn si gba kekere awọn atunṣe idun ati definition ti awon orisirisi-data fun a Tu (version nọmba, akopo ọjọ, ati be be lo). Nipa ṣe gbogbo iṣẹ yìí ni a Tu eka, awọn se agbekale eka ti wa ni nso lati gba awọn ẹya ara ẹrọ nigbamii ti ńlá Tu [version].

Awọn bọtini akoko lati ṣẹda titun kan Tu eka branching ti se agbekale ni nigbati awọn se agbekale o jẹ tẹlẹ (fere) afihan awọn ti o fẹ ipinle ti awọn titun Tu [version]. gbogbo awọn ẹya ara ẹrọ oludije fun Tu lati wa ni itumọ gbọdọ wa ni dapọ [dapọ] to se agbekale bayi. tẹlẹ awọn ẹya ara ẹrọ ti nkọju si tu ojo iwaju yẹ ki o reti nigbamii ti Tu [version].

O ni o kan ibẹrẹ ti a Tu eka nigbamii ti Tu gba a version nọmba – ko ṣaaju ki o to. titi ki o, awọn se agbekale eka reflected ayipada si awọn “tókàn Tu” [nigbamii ti ti ikede], sugbon o jẹ koyewa boya yi “nigbamii ti ti ikede” yoo bajẹ wa ni 0.3 tabi 1.0, titi ti Tu eka bere. Yi ipinnu ti wa ni ya ni ibẹrẹ ti Tu eka ati awọn ti o wa ni waye nipa awọn ofin ti awọn ise agbese lori versioning [Mo daba ri nipa “atunmọ versioning“].

Ṣiṣẹda a Tu eka

awọn tu ẹka Wọn ti wa ni da lati awọn se agbekale eka. fun apẹẹrẹ, sọ pe awọn ti ikede 1.1.5 O ti wa ni awọn ti isiyi gbóògì version ati ki o ni a nla Tu bọ. Awọn ipinle ti se agbekale ti šetan fun “nigbamii ti ti ikede” [tókàn Tu] ati awọn ti a pinnu wipe yi yoo di version 1.2 (ni dipo ti 1.1.6 tabi 2.0). ki o si, ramificamos wa ati awọn ti a ya awọn Tu eka orukọ kan afihan awọn titun ti ikede nọmba:

$ Git isanwo -b Tu-1.2 se agbekale
# Switched to a new branch "release-1.2"
$ ./ijalu-version.sh 1.2
# Awọn faili títúnṣe ni ifijišẹ, version bumped to 1.2.
$ Git dá -a -m "Bumped version number to 1.2"
# [tu-1.2 74d9424] Bumped version nọmba lati 1.2
# 1 awọn faili yi pada, 1 insertions(+), 1 deletions(-)

Lẹhin ti ṣiṣẹda titun kan eka ki o si wọle si o, a bumped awọn ti ikede nọmba. nibi, bump-version.sh O ti wa ni a ikarahun akosile ti o ayipada diẹ ninu awọn ṣiṣẹ daakọ awọn faili lati fi irisi awọn titun ti ikede. (yi le, ko, wa ni a Afowoyi ayipada – awọn ojuami ni wipe diẹ ninu awọn faili yi.) ki o si, O ti ṣe ti awọn ti títúnṣe version nọmba.

yi titun eka le jẹ nibẹ fun a nigba ti, titi ti Tu ti wa ni nipari tu. Nigba asiko yi, kokoro atunse le wa ni gbẹyin ni yi eka (dipo ti se agbekale eka). Awọn afikun ti o tobi titun awọn ẹya ara ẹrọ nibi ti wa ni muna leewọ. Nwọn yẹ ki o wa ti dapọ [ti dapọ] ni se agbekale e, ki, duro fun awọn nigbamii ti ńlá Tu.

Finishing a Tu eka

nigbati awọn Tu eka O ti wa ni setan lati di a gidi version, diẹ ninu awọn išë nilo lati wa ni ošišẹ ti. akọkọ, awọn Tu eka O ti wa ni ti dapọ sinu titunto si (niwon kọọkan ko si titunto si O ti wa ni a titun ti ikede nipa definition, ranti). ki o si, ti ko si titunto si O yẹ ki o wa ni samisi fun rorun iwaju tọka si yi ti ikede itan. nipari, ayipada ṣe ni Tu eka Ti won nilo lati wa ni ti dapọ [ti dapọ] lẹẹkansi lati se agbekale, ki tu ojo iwaju tun ni awọn wọnyi kokoro atunse.

Ni igba akọkọ ti meji ti awọn igbesẹ ti ni Git:

$ Git isanwo titunto si
# Switched si eka 'titunto si'
$ Git ajanpọ --ko si-FF Tu-1.2
# Dapọ ṣe nipa recursive.
# (Ni ṣoki ti awọn ayipada)
$ Git tag -a 1.2

awọn Tu O ti wa ni bayi ni pipe ati se eto fun ojo iwaju itọkasi.

ifesi: o tun le lo awọn awọn asia -S tabi -u lati wole rẹ tag cryptographically.

Lati pa awọn ayipada ṣe ni Tu eka, a nilo lati fi eerun wọn pada si se agbekale. ko si Git:

$ Git isanwo se agbekale
# Switched si eka 'se agbekale'
$ Git ajanpọ --ko si-FF Tu-1.2
# Dapọ ṣe nipa recursive.
# (Ni ṣoki ti awọn ayipada)

Yi igbese le ja si a ajanpọ rogbodiyan (jasi lọ, ni kete ti a yi awọn version nọmba). ti o ba ti bẹ, tun ki o si ṣe .

bayi, gan ti a pari, awọn Tu eka O le wa ni kuro, niwon a ko gun nilo o:

$ Git eka -d Tu-1.2
# Paarẹ eka Tu-1.2 (je ff452fe).

Hotfix ẹka

– O le eka [eka] lati:
titunto si
– o mingle [dapọ] lẹẹkansi:
se agbekale e titunto si
– Loruko Adehun ti eka:
hotfix- *

awọn Hotfix ẹka Wọn ti wa ni gidigidi iru si Tu ẹka, ti won ti wa ni tun ti a ti pinnu lati mura titun kan gbóògì version, biotilejepe unplanned. Nwọn si dide lati ye lati sise lẹsẹkẹsẹ lẹhin ohun ti aifẹ ipinle ti a gbóògì version [ni lilo]. Nigba ti a lominu ni aṣiṣe waye ninu a gbóògì version, O gbodo wa ni a koju lẹsẹkẹsẹ, ki o si ọkan Hotfix eka O le wa ni yo lati tag tí ó jẹ ìpìlẹ awọn ti wa tẹlẹ gbóògì version ni titunto si eka.

Awọn lodi ni wipe awọn iṣẹ ti awọn egbe omo egbe (ko si se agbekale eka) le tesiwaju, nigba ti ẹnikan ti wa ni ngbaradi a dekun atunse ti ikuna ni gbóògì.

Ṣiṣẹda awọn Hotfix eka

awọn Hotfix ẹka Wọn ti wa ni da lati awọn titunto si eka. fun apẹẹrẹ, ro pe awọn ti ikede 1.2 O ti wa ni awọn ti isiyi ti ikede ti awọn Tu ti gbóògì yen ati ki o iloju isoro nitori a pataki ni aṣiṣe. ayipada ninu se agbekale nto kuro ni ṣi riru. A le ki o si eka kan Hotfix eka ati ki o bẹrẹ lati yanju isoro:

$ Git isanwo -b Hotfix-1.2.1 titunto si
# Switched to a new branch "hotfix-1.2.1"
$ ./ijalu-version.sh 1.2.1
# Awọn faili títúnṣe ni ifijišẹ, version bumped to 1.2.1.
$ Git dá -a -m "Bumped version number to 1.2.1"
# [Hotfix-1.2.1 41e61bb] Bumped version nọmba lati 1.2.1
# 1 awọn faili yi pada, 1 insertions(+), 1 deletions(-)

Maa ko gbagbe lati yi awọn version nọmba lẹhin ti branching!

ki o si, atunse awọn aṣiṣe ati ki o ṣe awọn atunse ninu ọkan tabi diẹ ẹ sii niya.

$ Git dá -m "Fixed severe production problem"
# [Hotfix-1.2.1 abbe5d6] Ti o wa titi àìdá gbóògì isoro
# 5 awọn faili yi pada, 32 insertions(+), 17 deletions(-)

Awon smajemu ti a Hotfix eka

nigba ti a pari, awọn bugfix O nilo lati wa ni ti dapọ pada si titunto si, sugbon tun nilo lati wa ni dapọ pada sinu se agbekale, lati rii daju wipe bugfix O ti wa ni tun to wa ninu tókàn Tu. Eleyi jẹ oyimbo iru si awọn ọna Tu ẹka ti won ti wa fipinu.

akọkọ, imudojuiwọn titunto si e ọjọ kan Tu [ṣayẹwo awọn ooru]:

$ Git isanwo titunto si
# Switched si eka 'titunto si'
$ Git ajanpọ --ko si-FF Hotfix-1.2.1
# Dapọ ṣe nipa recursive.
# (Ni ṣoki ti awọn ayipada)
$ Git tag -a 1.2.1

ifesi: o tun le lo awọn awọn asia -S tabi -u lati wole rẹ tag cryptographically.

ki o si, ni awọn bugfix ko si se agbekale tun:

$ Git isanwo se agbekale
# Switched si eka 'se agbekale'
$ Git ajanpọ --ko si-FF Hotfix-1.2.1
# Dapọ ṣe nipa recursive.
# (Ni ṣoki ti awọn ayipada)

Awọn nikan sile si awọn ofin nibi ni wipe, nigba ti o wa ni a Tu eka Amẹríkà, ayipada si Hotfix Ti won nilo lati wa ni ti dapọ fun yi Tu eka, dipo ti se agbekale. dapọ bugfix ko si Tu eka yoo fa awọn bugfix wa ni ti dapọ ni se agbekale tun, nigbati awọn Tu eka wa ni ti pari. (Ti o ba ti ise ni se agbekale lẹsẹkẹsẹ nilo yi bugfix ati ki o ko ba le duro titi ti Tu eka ti wa ni pari, o le kuro lailewu dapọ bugfix fun deveolp ju.)

nipari, yọ awọn eka ibùgbé:

$ Git eka -d Hotfix-1.2.1
# Paarẹ eka Hotfix-1.2.1 (ti a abbe5d6).

Lakotan

Biotilejepe nibẹ ni ohunkohun gan extraordinary ni yi ti eka awoṣe, awọn nọmba rẹ ni ibẹrẹ ti awọn post le jẹ gidigidi wulo ninu wa ise agbese. O ti fihan kan awọn opolo awoṣe lati ni oye ati ki o gba egbe omo egbe lati se agbekale kan wọpọ oye ti lakọkọ branching e dasile.

A PDF version of ga didara olusin ti pese ninu atilẹba bulọọgi post: http://nvie.com/posts/a-successful-git-branching-model/ [tabi lori Download asopọ ni isalẹ]. Lọ niwaju ki o si fi o lori odi fun awọn ọna itọkasi ni eyikeyi akoko.

lapapọ accesses: 7507

A awotẹlẹ on “A aseyori awoṣe ti ẹka ni Git

  1. Deivson Ìbí wi:

    ti o dara Friday, Mo mọ pé Git ti wa lakoko idagbasoke fun Linux sugbon nigba ti sọrọ nipa portability, Mo Iyanu ti o ba Git gbalaye lori POSIX MSIS ati windows??

Fi kan Fesi

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni ti samisi pẹlu *