Efa nianatra ny baiko Git ve ianao nefa te haka sary an-tsaina ny fomba fiasan'ny fampidirana mitohy (CI) raha ny tena izy? Sa mety te hanatsara ny asanao andavanandro ianao? Ity fampianarana ity dia hanome anao fahaiza-manao azo ampiharina amin'ny fampidirana mitohy amin'ny alΓ lan'ny fitahirizana GitHub. Ity fampianarana ity dia tsy natao ho mpamosavy izay azonao kitihina tsotra izao; ny mifanohitra amin'izany, dia hanao hetsika mitovy amin'ny ataon'ny olona any am-piasana ianao, amin'ny fomba fanaony. Hazavaiko ny teoria rehefa mandalo ireo dingana tafiditra ianao.
Inona no ataontsika?
Rehefa mandroso isika dia hamorona tsikelikely lisitr'ireo dingana CI mahazatra, izay fomba tsara hahatsiarovana ity lisitra ity. Raha lazaina amin'ny teny hafa dia hamorona lisitr'ireo hetsika ataon'ny mpamorona isika rehefa manao fampidirana mitohy, manao fampidirana mitohy. Hampiasa andrana tsotra ihany koa izahay mba hanakaiky kokoa ny fizotran'ny CI anay amin'ny tena izy.
Ity GIF ity dia mampiseho ny commit ao amin'ny tahiryo rehefa mandroso amin'ny fianarana ianao. Araka ny hitanao, tsy misy sarotra eto ary ny tena ilaina ihany.
Handeha amin'ireto sehatra CI manaraka ireto ianao:
Miasa amin'ny endri-javatra iray;
Fampiharana fitsapana mandeha ho azy mba hiantohana ny kalitao;
Fampiharana ny asa laharam-pahamehana;
Famahana ny fifanoherana rehefa manambatra sampana (manambatra ny fifandirana);
Ho afaka hamaly ireto fanontaniana manaraka ireto ianao:
Inona no atao hoe integration mitohy (CI)?
Karazana fitsapana mandeha ho azy inona no ampiasaina ao amin'ny CI, ary ho setrin'ny hetsika inona no atomboka?
Inona no atao hoe fangatahana fisintonana ary rahoviana izy ireo no ilaina?
Inona no atao hoe Test Driven Development (TDD) ary ahoana no ifandraisany amin'ny CI?
Tokony hanambatra na hamerina ny fanovana ve aho?
Avereno na amboary amin'ny dikan-teny manaraka?
Tamin'ny voalohany dia nandika zavatra toy ny βfangatahana fisintonanaβ aho na aiza na aiza, saingy vokatr'izany dia nanapa-kevitra ny hamerina andian-teny amin'ny teny anglisy any amin'ny toerana sasany aho mba hampihenana ny haavon'ny hadalana ao amin'ny lahatsoratra. Hampiasa βprogrammer surzhikβ aho indraindray toy ny matoanteny mahafinaritra hoe βmanolotraβ izay tena ampiasain'ny olona any am-piasana.
Inona no atao hoe fampidirana mitohy?
Fampidirana mitohy, na CI, dia fomba fanao ara-teknika izay ampidiran'ny mpikambana tsirairay ny kaody ao amin'ny tahiry iombonana farafahakeliny indray mandeha isan'andro, ary ny kaody aterany dia tsy maintsy amboarina farafaharatsiny tsy misy hadisoana.
Misy ny tsy fitovian-kevitra momba io teny io
Ny tanjon'ny fifandirana dia ny matetika ny fampidirana. Misy milaza fa ny fampifangaroana kaody indray mandeha isan'andro dia tsy ampy raha tena ampidirina tsy tapaka. Omena ohatra ny ekipa iray izay maka kaody vaovao ny tsirairay amin'ny maraina ary mampiditra izany indray mandeha amin'ny hariva. Na dia fanoherana mitombina aza izany, dia inoana amin'ny ankapobeny fa ny famaritana indray mandeha isan'andro dia azo ampiharina, voafaritra ary mety amin'ny ekipa samy hafa habe.
Ny fanoherana iray hafa dia tsy ny C ++ irery intsony no fiteny ampiasaina amin'ny fampandrosoana, ary ny fitakiana fotsiny ny fivoriambe tsy misy hadisoana ho toy ny fomba fanamarinana dia malemy. Tsy maintsy vita soa aman-tsara ihany koa ny andiana andrana sasany (ohatra, andrana natao teo an-toerana). Amin'izao fotoana izao, ny vondrom-piarahamonina dia miroso amin'ny fanaovana izany ho fitakiana, ary amin'ny ho avy dia mety ho fanao mahazatra ny "andrana fananganana + unit", raha mbola tsy nisy izany.
Vita? Raha toa ka tsy nanova ny firafitry ny default ianao dia azo inoana fa antsoina ny trano fitehirizam-pianaranao continuous-integration-team-scenarios-students, ao amin'ny kaontinao GitHub no misy azy ary toy izao ny URL
Ny brackets zoro toy ny <ΡΡΡ> dia midika fa tsy maintsy soloinao amin'ny sanda mety ny fitenenana toy izany.
Ataovy azo antoka izany Hetsika GitHub tafiditra ao anatin'ity fitahirizana fampianarana ity. Raha tsy alefa izy ireo dia avelao izy ireo amin'ny fipihana ny bokotra lehibe eo afovoan'ny pejy, izay azonao alaina amin'ny fipihana Actions ao amin'ny interface GitHub.
Tsy ho vitanao ny hamita ny fampianarana manaraka ny torolalako raha tsy alefa ny GitHub Actions.
Azonao atao foana ny mampiasa ny fahafahan'i GitHub mamadika ny Markdown hahitana ny toetry ny lisitra ankehitriny izay noforoninay eto.
https://github.com/<your GitHub user name>/continuous-integration-team-scenarios-students/blob/master/ci.md
Momba ny valiny
Raha ny fomba tsara indrindra hamitana an'ity taranja ity dia ny manao izany amin'ny tenanao, dia mety ho sahirana ianao.
Raha mahatsapa ianao fa tsy azonao izay tokony hatao ary tsy afaka manohy, dia azonao atao ny mijery ny kofehy solution, izay ao amin'ny tahiry fanombohana anao.
Aza mitambatra azafady solution Π² master mandritra ny fianarana. Azonao atao ny mampiasa ity sampana ity mba hamantarana izay tokony hatao, na hampitahana ny codeo amin'ny an'ny mpanoratra, amin'ny fampiasana ny fahaiza-manao rehetra omen'i Git antsika. Raha very tanteraka ianao dia azonao soloina tanteraka ny sampanao master amin'ny sampana iray solution ary avereno avy eo ny lahatahiry miasa amin'ny dingana ilainao.
Aorian'ireo dingana ireo dia azonao ampiasaina git log master mba hamantarana hoe inona no commit ilainao.
Azonao atao ny mamerina ny lahatahiry miasa amin'ity commit ity toy izao:
git reset --hard <the SHA you need>
Raha faly amin'ny vokatra ianao, amin'ny fotoana iray dia mila mamoaka ny dikan-teninao amin'ny tahiry lavitra ianao. Aza adino ny mamaritra mazava ny sampana lavitra rehefa manao izany ianao.
git push --force origin master
Mariho fa mampiasa izahay git push --force. Tsy azo inoana fa te-hanao izany matetika ianao, saingy manana toe-javatra manokana izahay eto miaraka amin'ny mpampiasa tahiry iray izay, ankoatra izany, dia mahatakatra ny ataony.
Manomboka miasa
Andao hanomboka hanangona ny lisitry ny dingana CI. Amin'ny ankapobeny dia manomboka ity dingana ity ianao amin'ny alΓ lan'ny fijerena ny kinova farany amin'ny kaody avy amin'ny tahiry lavitra, saingy mbola tsy manana tahiry eo an-toerana izahay, noho izany dia manangana azy avy amin'ny lavitra izahay.
οΈ Asa: manavao ny tahiry eo an-toerana, mamorona sampana avy amin'ny master, manomboka miasa
Clone ny fitahirizana fampianarana avy amin'ny <URL ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ>.
Mihazakazaha npm install ao amin'ny lahatahiry fitahirizana fampianarana; Mila azy io izahay hametraka Jest, izay ampiasainay hanaovana fitsapana.
1. Pull in the latest code. Create a branch from `master`. Start working.
2. Create commits on your new branch. Build and test locally.
Pass? Go to the next step. Fail? Fix errors or tests and try again.
3. Push to your remote repository or remote branch.
4. Create a pull request. Discuss the changes, add more commits
as discussion continues. Make tests pass on the feature branch.
Rehefa avoaka amin'ny sampana/repository manokana ny kaody.
Ny kaody amin'ity lohahevitra ity dia andrana.
Ny mety ho vokatry ny fampivondronana dia andrana (matetika amin'ny master).
Amin'ny maha dingana fampidirana mitohy / fantsona fanaterana tsy tapaka
Amin'ny ankapobeny, arakaraky ny fandehanana haingana kokoa ny suite fitsapana iray, dia vao mainka azonao atao ny mampandeha azy io. Mety ho toy izao ny fizarana sehatra mahazatra.
Fitsapana vondrona haingana - mandritra ny fananganana, amin'ny fantsona CI
Fitsapana singa miadana, fitsapana singa haingana sy fampidirana - amin'ny fanoloran-tena, ao amin'ny fantsona CI
Fitsapana singa miadana sy fampidirana - amin'ny fantsona CI
Manoro hevitra aho ny hamita ny fitsapana amin'ny tanana voalohany amin'ny fampiasana ny baiko npm test. Aorian'izay dia ndao ampio git hook mba hampandehanana ny fitsapana ataontsika. Misy haza iray: Tsy heverina ho anisan'ny fitehirizana ny Git hooks ary noho izany dia tsy azo atao klΓ΄nina avy amin'ny GitHub miaraka amin'ny fitaovana fianarana hafa. Mba hametrahana hook dia mila mihazakazaka ianao install_hook.sh na kopia ny rakitra repo/hooks/pre-commit mankany amin'ny lahatahiry eo an-toerana .git/hooks/.
Rehefa manolo-tena ianao dia ho hitanao fa mandeha ny fitsapana ary manamarina raha misy teny fanalahidy sasany ao amin'ny lisitra.
Manaova andrana amin'ny alΓ lan'ny fampandehanana ny baiko npm test ao amin'ny lahatahiry fitahirizanao. Hamarino fa vita ny fitsapana.
Apetraho amin'ny tahiry eo an-toerana ny fanovanao.
Ataovy azo antoka fa mandeha ny fitsapana alohan'ny hanaovana.
Tokony ho toy izao ny fitehirizanao rehefa avy manaraka ireto dingana ireto.
didy
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ pre-commit hook Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² install_hook.sh.
# ΠΠ°ΠΊΠΎΠΌΠΌΠΈΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "Add first CI steps" Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
git add ci.md ci.test.js
git commit -m "Add first CI steps"
# Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
Mamoaka kaody amin'ny tahiry lavitra na sampana lavitra
Rehefa vita ny asa eo an-toerana, dia mazΓ na no ataon'ny mpamorona ny kaody ho ampahibemaso mba hahafahan'izy ireo miditra amin'ny besinimaro amin'ny farany. Miaraka amin'ny GitHub, izany dia azo atao amin'ny famoahana ny asa amin'ny dika mitovy amin'ny tahiry manokana (fork manokana) na sampana manokana.
Miaraka amin'ny forks, ny developer dia manao clone ny tahiry ifampizarana lavitra, mamorona kopia lavitra azy manokana, antsoina koa hoe fork. Avy eo dia manao clone an'io tahiry manokana io izy io mba hiarahana miasa eo an-toerana. Rehefa vita ny asa ary vita ny commits, dia atsipiny ao amin'ny garderie izany, izay azon'ny hafa ary azo ampidirina ao amin'ny tahiry iombonana. Ity fomba fiasa ity dia matetika ampiasaina amin'ny tetikasa open source amin'ny GitHub. Izy io koa dia ampiasaina amin'ny taranja mandroso [Team Work sy CI miaraka amin'ny Git] (http://devops.redpill.solutions/).
Ny fomba iray hafa dia ny fampiasana tahiry lavitra iray ary manisa ny sampana ihany master tahiry iombonana "arovana". Amin'ity toe-javatra ity, ny mpamorona tsirairay dia mamoaka ny kaody ao amin'ny sampan'ny tahiry lavitra mba ahafahan'ny hafa mijery ity code ity, raha milamina ny zava-drehetra, ampifandraiso amin'ny master tahiry iombonana.
Ifanakalozy hevitra ny fanovana, ampio fanoloran-tena vaovao rehefa mitohy ny fifanakalozan-kevitra
Fangatahana misintona (PR)
Fangatahana misintona (PR) dia fomba iray ifanakalozan-kevitra sy fandraketana fehezan-dalΓ na, ary koa fanaovana famerenana ny fehezan-dalΓ na. Ny fangatahana sintonina dia nomena anarana araka ny fomba ankapoben'ny fampidirana ny fanovana tsirairay amin'ny fehezan-dalΓ na ankapobeny. Amin'ny ankapobeny, misy olona manao clone ny tahiry ofisialin'ny tetikasa ary miasa amin'ny kaody eo an-toerana. Aorian'izany dia mametraka ny kaody ao amin'ny trano fitehirizana azy manokana izy ary mangataka ireo tompon'andraikitra amin'ny tahiry ofisialy haka (Sintony) ny kaody ao amin'ny trano fitehirizan-dry zareo eo an-toerana, izay andinihany sy mety hampidirana azy (mandeha) azy. Ity hevitra ity dia fantatra amin'ny anarana hafa, ohatra, manambatra fangatahana.
Tsy mila mampiasa ny fangatahan'ny GitHub na sehatra mitovy amin'izany ianao. Ny ekipan'ny fampandrosoana dia mety mampiasa fomba fifandraisana hafa, ao anatin'izany ny fifandraisana mivantana, ny antso an-telefaona, na ny mailaka, saingy mbola misy antony maromaro hampiasana ny fangatahana fisarihana amin'ny fomba forum. Ireto ny sasany amin'izy ireo:
fifanakalozan-kevitra voalamina mifandraika amin'ny fanovana fehezan-dalΓ na manokana;
ho toerana hijerena ny valin-kafatra momba ny asa an-dalam-pandrosoana avy amin'ny autotester sy ny mpiara-miasa;
Formation ny famerenana ny fehezan-dalΓ na;
mba ho hitanao any aoriana ny antony sy ny fiheverana ao ambadik'ity fehezan-dalΓ na ity.
Amin'ny ankapobeny dia mamorona fangatahana misintona ianao rehefa mila miresaka zavatra na mahazo valiny. Ohatra, raha miasa amin'ny endri-javatra azo ampiharina amin'ny fomba mihoatra ny iray ianao dia afaka mamorona fangatahana misintona alohan'ny hanoratana ny andalana voalohany amin'ny kaody mba hizarana ny hevitrao sy hiresaka momba ny drafitrao amin'ireo mpiara-miasa aminao. Raha tsotra kokoa ny asa, dia misokatra ny fangatahana fisintonana rehefa misy zavatra efa vita, natao ary azo resahina. Amin'ny toe-javatra sasany, azonao atao ny manokatra PR noho ny antony fanaraha-maso ny kalitao: hanaovana fitsapana mandeha ho azy na hanombohana famerenana kaody. Na inona na inona fanapahan-kevitrao dia aza adino ny manonona ny olona izay tadiavinao amin'ny fangatahanao misintona.
Manorata famaritana manazava ny anton'ny fiovana. Mety mila:
ampio izay zava-dehibe tsy mibaribary amin'ny kaody, na zavatra ilaina amin'ny fahatakarana ny teny manodidina, toy ny #bugs mifandraika sy ny laharana commit;
@ teneno izay tianao hiarahana miasa, na azonao @ teneninao ao anaty commentaire any aoriana any;
angataho ny mpiara-miasa hanampy amin'ny zavatra iray na hijery zavatra manokana.
Vantany vao manokatra ny PR ianao, dia tanterahana ny fitsapana natao ho an'ny tranga toy izany. Amin'ny tranga misy anay, ity dia mitovy amin'ny fitsapana nataontsika teo an-toerana, fa amin'ny tetikasa tena izy dia mety hisy fitsapana sy fisavana fanampiny.
Andraso azafady raha mbola vita ny fitsapana. Azonao atao ny mahita ny satan'ny fitsapana eo amin'ny faran'ny fifanakalozan-kevitra PR ao amin'ny interface GitHub. Tohizo rehefa vita ny fitsapana.
οΈ Manampia fanamarihana momba ny kisendrasendra ny lisitry ny dingana CI
Ny lisitra ampiasaina amin'ity taranja ity dia tsy misy dikany ary manara-penitra, tokony hanampy fanamarihana momba izany isika.
> **GitHub flow** is sometimes used as a nickname to refer to a flavor of trunk-based development
when code is deployed straight from feature branches. This list is just an interpretation
that I use in my [DevOps courses](http://redpill.solutions).
The official tutorial is [here](https://guides.github.com/introduction/flow/).
Ankatoavy ny fangatahana misintona "Manampy fanamarihana"
οΈAsa
Mamorona fangatahana misintona.
Tsindrio ny "Merge pull request".
Tsindrio ny "Confirm merge".
Tsindrio ny "Delete branch", tsy mila izany intsony isika.
Ity dia sarin'ny commit aorian'ny fampifangaroana.
οΈ Tohizo ny asa ary ampio fitsapana
Ny fiaraha-miasa amin'ny fangatahana fisintonana matetika dia miteraka asa fanampiny. Matetika izany dia vokatry ny famerenana na fifanakalozan-kevitra momba ny kaody, fa amin'ny lalantsika dia hanao modely amin'ny fampidirana singa vaovao amin'ny lisitry ny dingana CI.
Ny TDD dia manoro hevitra ny hanoratana fitsapana alohan'ny kaody. Toy izao ny fomba fiasa mahazatra mampiasa TDD.
Ampio fitsapana.
Ataovy ny fitsapana rehetra ary ataovy izay hahazoana antoka fa tsy mahomby ny fitsapana vaovao.
Soraty ny kaody.
Manaova fitsapana, ataovy azo antoka fa mandalo ny fitsapana rehetra.
Avereno indray ny codeo.
Avereno.
Satria ny valin'ny fitsapana tsy nahomby dia matetika aseho amin'ny mena, ary ireo izay nandalo dia matetika aseho amin'ny maitso, ny tsingerina dia antsoina koa hoe red-green-refactor.
οΈAsa
Voalohany, andramo manao ny fitsapana ary avelao izy ireo tsy hahomby, avy eo ampio sy apetraho ny lahatsoratry ny lisitry ny dingana CI. Ho hitanao fa mandalo ny fitsapana ("maitso").
Avy eo dia mamoaka ny kaody vaovao any amin'ny tahiry lavitra ary jereo ny fitsapana mandeha ao amin'ny interface GitHub eo amin'ny farany ambany amin'ny fifanakalozan-kevitra momba ny fangatahana sy ny fanavaozana ny sata PR.
Hiverina any amin'ny branch feature.
Ampio ireto fitsapana ireto ci.test.js aorian'ny antso farany it (...);.
it('5. Merge/rebase commits from master. Make tests pass on the merge result.', () => {
expect(/.*merge.*commits.*testss+pass.*/ig.test(fileContents)).toBe(true);
});
it('6. Deploy from the feature branch to production.', () => {
expect(/.*Deploy.*tos+production.*/ig.test(fileContents)).toBe(true);
});
it('7. If everything is good in production for some period of time, merge changes to master.', () => {
expect(/.*merge.*tos+master.*/ig.test(fileContents)).toBe(true);
});
Andramo ny manao ny fitsapana. RAHA pre-commit apetraka ny hook, tsy hahomby ny andrana commit.
Avy eo ampio ity lahatsoratra ity amin'ny ci.md.
5. Merge/rebase commits from master. Make tests pass on the merge result.
6. Deploy from the feature branch with a sneaky bug to production.
7. If everything is good in production for some period of time, merge changes to master.
Mandehana any amin'ny Change Request Famerenana ny dingana.
Na dia tsy nanao zavatra tsy nety aza izahay ary nandalo ny fitsapana ho an'ny kaody, dia mbola tsy afaka manambatra ny sampana izahay feature ΠΈ master. Satria ilay lohahevitra hafa bugfix dia natambatra tamin'ny master fony izahay niasa tamin'ity PR ity.
Izany dia miteraka toe-javatra izay ny sampana lavitra master manana dikan-teny vaovao kokoa noho ilay nifotoranay ny sampana feature. Noho izany dia tsy afaka mamerina ny HEAD fotsiny isika master hatramin'ny faran'ny kofehy feature. Amin'ity toe-javatra ity dia mila manambatra na mampihatra commit isika feature rebase master. Ny GitHub dia afaka manao fampifangaroana mandeha ho azy raha tsy misy fifandirana. Indrisy, amin'ny toe-javatra misy antsika, ny sampana roa dia manana fiovana mifaninana amin'ny rakitra ci.md. Ity toe-javatra ity dia fantatra amin'ny hoe fifandirana mitambatra, ary mila mamaha izany amin'ny tanana isika.
Atambatra na rebase
mampiray
Mamorona commit fanakambanana fanampiny ary mitahiry ny tantaran'ny asa.
Mitahiry ny faneken'ny sampana tany am-boalohany miaraka amin'ny mari-pamantarana sy ny mpanoratra azy tany am-boalohany.
Mitahiry ny SHA amin'ny commits ary mampifandray azy ireo amin'ny fifanakalozan-kevitra momba ny fangatahana fanovana.
Mitaky famahana fifandirana indray mandeha.
Mahatonga ny tantara tsy mi-linear.
Mety ho sarotra vakina ilay tantara noho ny hamaroan'ny sampana (mampahatsiahy ny tariby IDE).
Manasarotra kokoa ny debugging mandeha ho azy, oh. git bisect ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ β ΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΉΠ΄Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
Rebase
Ny replays dia manolo-tena avy amin'ny sampana ankehitriny eo an-tampon'ny sampana fototra.
Miforona ny fanolorana vaovao miaraka amin'ny SHA vaovao, ka mahatonga ny commit ao amin'ny GitHub hifanaraka amin'ny fangatahana fisintonana tany am-boalohany, fa tsy ny fanehoan-kevitra mifanaraka amin'izany.
Ny commits dia azo atambatra sy ovaina ao anatin'ilay dingana, na atambatra ho iray mihitsy aza.
Ny debugging mandeha ho azy sy ny famahana olana dia mora kokoa: mahatonga izany ho azo atao git bisect, dia afaka manao ny famerenana mandeha ho azy ho mazava kokoa sy azo vinaniana kokoa.
Amin'ny ankapobeny, ny ekipa dia manaiky hampiasa tetika mitovy foana rehefa mila manambatra fiovana. Ity dia mety ho fampifangaroana "pure" na commit "pure" eo ambony, na zavatra eo anelanelany, toy ny fanaovana commit on top interactively(git rebase -i) eo an-toerana ho an'ny sampana tsy navoaka tao amin'ny tahiry ho an'ny daholobe, fa mitambatra ho an'ny sampana "public".
Vita ny lisitra ianao ary izao dia mila manaiky ny fangatahana fisintonana ianao master.
οΈ Asa: Ankatoavy ny fangatahana fisintonana "Steps review"
Sokafy fangatahana fisintonana.
Tsindrio ny "Merge pull request".
Tsindrio ny "Confirm merge".
Kitiho ny "Delete branch" satria tsy mila azy intsony isika.
Ity ny fitahirizanao amin'izao fotoana izao
Fahadisoan'ny vokatra
Voalaza fa βazo ampiasaina hanehoana ny fisianβny fahadisoana ny fitsapana, fa tsy hanehoana velively ny tsy fisianyβ. Na dia nanao fitsapana aza izahay ary tsy nampiseho lesoka taminay, dia nisy bibikely mamitaka niditra tao amin'ny famokarana.
Amin'ny toe-javatra toy izany dia mila mitandrina isika:
Ny fihemorana dia ny dingan'ny fametrahana dikan-teny tsara fantatra teo aloha ho amin'ny famokarana sy famerenana ny commits izay misy ny fahadisoana. Ny "Fixing forward" dia ny fanampiana ny fanamboarana ny master ary mametraka ny dikan-teny vaovao haingana araka izay azo atao. Satria miova ny tetika API sy ny angon-drakitra rehefa apetraka amin'ny famokarana ny kaody, miaraka amin'ny fandefasana mitohy sy fandrakofam-panadinana tsara, mazΓ na sarotra sy mampidi-doza kokoa ny mihemotra noho ny fanamboarana azy amin'ny dikan-teny manaraka.
Koa satria tsy mitondra risika amin'ny raharahantsika ny mihemotra, dia handeha amin'ity lalana ity izahay, satria mamela anay izany
amboary haingana araka izay azo atao ny fahadisoana amin'ny vokatra;
manao code in master mety avy hatrany hanombohana asa vaovao.
οΈAsa
Hiverina any amin'ny branch master eo an-toerana.
Fanavaozana ny tahiry eo an-toerana avy amin'ny tahiry lavitra.
Avereno ny commit PR merge Famerenana ny dingana Π² master.
Mamoaka fanovana amin'ny tahiry lavitra.
Ity ny tantaran'ny tahiry misy commit mitambatra naverina
Amboary ny lisitry ny dingana CI ary avereno amin'ny master
Naverinay tanteraka ny merge commit an'ny sampana. feature. Ny vaovao tsara dia tsy misy diso isika izao master. Ny vaovao ratsy dia ny lisitra sarobidin'ny dingana fampidirana mitohy dia lasa koa. Noho izany, ny tsara indrindra dia mila mampihatra ny fanamboarana amin'ny commit avy amin'ny feature ary avereno any master miaraka amin'ny fanamboarana.
Afaka manatona ny olana amin'ny fomba samihafa isika:
avereno commit izay manafoana ny fitambarana feature Ρ master;
mihetsika commit avy amin'ny teo aloha feature.
Ny ekipan'ny fampandrosoana samihafa dia mampiasa fomba fiasa samihafa amin'ity tranga ity, saingy hamindra ny fanoloran-tena ilaina amin'ny sampana misaraka izahay ary hamorona fangatahana fisarihana misaraka ho an'ity sampana vaovao ity.
Mamorona fangatahana misintona misy lohateny Fanamboarana ny endri-javatra... hametraka feature-fix toy ny "head branch" ary master toy ny "sampana fototra".
Miandrasa mandra-pahavitan'ny fitsapana. Azonao atao ny mahita ny satan'ny fitsapana eo amin'ny faran'ny fifanakalozan-kevitra PR.