Pitani ku zomwe zili
Kubwerera ku Nymbot

Maziko a chidziwitso Kodi

Kugwira ntchito mu git repository

Pro akhoza kugwira ntchito mkati mwa mmodzi mwa ma repository anu monga m'mene agent wa coding amachitira — kuwerenga mafayilo anu enieni, komanso kulemba ndi kusinthawo.

Kugwirizanitsa repository

?git, kapena Git chip mu toolbar, imalumikiza m’mene mwayenera: GitHub, GitLab, kapena Gitea/Forgejo — yomwe imakhudza Codeberg ndi ma instances odziyimira. Imalandira scoped personal access token, repository, ndi branch. Repository yomwe idziwitsa pa Nostr yingathe kuikidwa monga adilesi yake m'malo mwake.

Simukuyenera kulemba dzina la repository. Opatsani token ndipo sankhani Lemba zomwe token iyi ingathe kufikira: Nymbot amafunsa forge kuti token imeneyo ingathe kuona chiyani ndipo akuonetsa yankho lake ngati mndandanda womwe mumayendeleramo. Kuyesa kumalumikiza aliyense ndi branch yake yoyamba yomwe ili ndi zolembedwa kale, ndipo amawaika zonse mchatini uno. Chilichonse chomwe chinali choyambirabe chogwirizana chimasonyezedwa choncho m'malo moti chionjezerepo nthawi yaikali. Pempholi limachokera pa chida chanu kuchita mwachindunji ku forge — osati kudzera mwa Nymbot worker — kuti token isiye kumene sikutayenda kale. Forge yodziyimira yokana pempholi ochokera kumalo ena (cross-origin) sitingathe kuionetsa mndandandawu; lembani repository m'manja kaye ndipo zonse zina zidzayenda mofanana.

Atayika, chipima imasonyeza dzina la repository, komanso uthenga womwe watumizidwa ndi a Mtundu wa Pro wasankha kuyendetsa m'malo amene repository imeneyi ili. ?git disconnect amachotsa izo. Chotsatira mu mndandanda wa malo osungira data amaiwala token koma amasiya malo osungira datawo ali pamalo, atametsata kuti alibe token, kuti mutha kuika ina mtsogolo.

Mawindo a Repositories, kumene repository ya GitHub, GitLab kapena Gitea imayezedwa ndi macheza.
Kulumikiza repository. Token imasintha ndi zida zina zomwe muli nazo, yotsekedwa kuchokera kumapeto kupita kumapeto.

Ma repository alengezedwa pa Nostr

Ma repository ena amadziwitsa anthu pa Nostr m'malo mongokhala pa forge yokha, pogwiritsa ntchito NIP-34 — ndondomeko yomwe ili pansi pa ngit ndipo gitworkshop. Chidziwitso chake ndi chochitika cha Nostr chomwe chili ndi dzina la pulojekiti, osamalira ake, ma relay omwe amasonkhanitsa zotsekera ndi mavuto ake, komanso ma URL amene pulojekiti ingathe kutengedwa. Chochitika chapitirizo chimauza komwe branch iliyonse ili panopa.

Limbe an naddr kapena a nostr:// lowetsani address mu fomu ya repository ndipo dinani Fufuzani. Nymbot amadera chilengezo m'ma relays ndipo amadzaza fomu: malo amene git host imachokera, repository yomwe ilipo, komanso branch yomwe poyambira project ikunena kuti ndi yamakono. Inunso mukuwonjezera token ya malo amene amenewo, chifukwa Nostr imanyamula chilengezo ndipo git server imanyamula kodi.

Zikutanthauza kuti malamulowo ali pamalo amene akukopera. Repository yomwe URL yake yokopera ili pa GitHub, GitLab, Gitea kapena Forgejo — kuphatikizapo zomwe zili pa seva yanu — ndi imodzi yomwe Nymbot angathe kuwerenga. Yomwe yakopera kokha kudzera pa git:// koma ssh alibe HTTP API yoti ingathe kuwerenga mafayilo kudzera mwa iye, ndipo Nymbot amati zimenezo m'malo moti agwirize ntchito m'mbiri. Pamene host imakhala self-hosted, wopereka ndi nduna kuchokera pa dzina lake, ndipo mutha kuukonza musanasunge.

Repository yowonjezeredwa munjira imeneyi ili ndi chikwangwani. ngit mu mndandanda, ndi mayankho amati ndilo dzina limene limatchula m'malo mwa njira yake pa galasi.

Zomwe ingathe kuchita

Uthenga m'ndondomeko ya repo amagwira ntchito ngati wogwira ntchito wamng'ono m'malo mwake monga ndondomeko imodzi yekha. Model ikhoza kulista mafunidwe, kuwerenga mafayilo ndi kufufuza mtundu wa mafayilo, kenako kuyankha pogwiritsa ntchito zomwe inadziwa zenizeni — choncho funso lakuti "chifukwa chiyani mal loops a retry amasiya msanga" limayankhidwa kuchokera m'kodini yanu, osati kulingalira za kodiyo yomwe ikuoneka ngati yanu.

Imaona chiwerengero chomwe mwalumikiza, pa kumapeto kwake komwe kuli pano.

Ndi server ikuyenda yakhazikitsidwa kuti ikambirane, ikhoza kupemphanso kuyendetsa lamulo pa kodi yanu, monga mayeso, pa seva ya Nymbot. Kuyendetsa kulumilira kumadikira kuti muloze.

Ntchito ya repository pa foni: Nymbot atha cholofwa ndipo akuonetsa kukonza kake monga diff.
Ntchito ya repo pa foni, ndi patch komanso mtengo wa kuyendetsa ntchitoyo.

Kuyambitsa kulemba

?git writes on amatenganso kuthekera kusunga mafayilo, kupanga magulu (branches) ndi kutsegula pull kapena merge requests. Sizimakhala zotsegulidwa mwachibadwa, ndipo ndibwino kuzisiya zotseka mpaka pamene mukuzifuna.

Pogwiritsa ntchito writes on, pemphani kusintha ndipo mudzalandira branch ndi pull request kuti muwerenge m'malo mokwanira patch yolembedwa mu chat: ntchito iliyonse imagwira ntchito pa gawo lake lodzikhiraPalibe chomwe chimatumizidwa ku branch yanu yoyamba pokhapokha ngati simunazimitsemo, ndiye kuti ndi branch yomwe munayikidwa, ndipo munapempha.

Kusintha kwa run kumaperekedwa ngati commit imodzi pa repository, pamapeto pa run kapena pamene model ikuganiza kuti ntchito imodzi yatha. Ngati mukufuna kuziona choyamba, yatsani Funsa musanachite kuti akusungidwe m'nyumba yosungira ndondomeko imeneyo. Kuyendetsa kumene kumayimitsa kusintha kwake, mayankho amawaonetsa ngati kusiyana, ndipo Perekani akumachita izo pamene Tsitsizani amawawononga. Kupereka maofesi sikulipira chilichonse.

Gawu la ntchito iliyonse

Ndi Ntchito iliyonse imakhala ndi gawo lake lapadera ili, yomwe ili kwa repository iliyonse kupatula ngati mutazimitsa, ntchito yomwe yolemba commits pa branch yakeyi, yomwe imatchedwa nymbot/ ndipo ID yaing'ono. Nymbot imapanga kuchokera ku mutu wa branch yomwe ikugwira ntchito pamene ntchito ikupanga commit yake yoyamba, choncho ntchito yomwe imawerenga okha sikupanga branch iliyonse. Branch yomwe ikugwira ntchito itself sikukhudzana, ndicho chifukwa chake ntchito zingapo zingathe kulemba m'repository imodzi nthawi imodzi m'malo mokonzekera mndandanda wawo.

Nthawi ntchito itatha, Nymbot amachita chiyani Tikamaliza amafuula. Tsegulani pull request ndicho chosankhidwa mwachibadwa; Perekani ndandulo yofanana imasiya batani la Merge pa mayankho; Chokani m'gulu sichimachita chilichonse china. Zoyenera monga usualo zasungidwa mu Settings, pansi pa Pamene chiwalo cha ntchito chatha, ndipo malo osungira data aliyense akhoza kusankha mosiyana m'njira yake yake. Ngati forge ilibe API ya pull requests yomwe Nymbot akhoza kugwiritsa ntchito, kapena ikukana, chiwere (branch) chimasiya monga chilili ndipo yankho limati zimenezo.

Mayankho akuonetsa mbali ndi Tsegulani PR, Gwirizanitsani ndi Chotsani, ndipo pane ya Tasks imaloza ndalama ndi ntchito imeneyo. Pamene ntchitoyi ikuyenda, kadi yake, pane ya Tasks, komanso mndandanda wa zomwe zikuyenda zimanena dzina la branch nthawi yomweyo itayamba, pa chida chilichonse chomwe chili chinthu cha account imeneyo. Ntchito imene inaika kapena kulephera pakati imabweretsanso branch yake, kuti ingathe kuphatikizidwa, kufufutidwa kapena kukhala bwino ngati zina zilizonse. Kuphatikiza ndiko kuphatikiza commit kudzera mwa pull request ya forge yomweyo, yomwe ili pa commit yomwe Nymbot analemba, kuti ma commit atsopano omwe angatumizidwe pamenepo m'nthawi yomweyo asaphatikizidwe popanda kuona. Palibe chimene chimatumizidwa mwa mphamvu (force-pushed). Ngati branch ikugwirizana molimbana ndi working branch, yankho limapereka Tsegulani PR kuti tuthaze kapena Pemphani Nymbot kuti asinthe branch, yomwe imapititsa pamodzi branch yogwira ntchito mwa merge commit m'malo mwake rebasing. GitHub ndi Gitea kapena Forgejo angathe kuchita zimenezo; GitLab ilibe API yokonza zimenezi, choncho kumeneko mumakonza mwa merge request.

Kusintha kwa ma CI ndi ma workflow files kukudikira kwa chisonyezo chanu, monga momwe kumachitira popanda branch yake yodziyimira.

Kuyeretsa

Chida chanu chikuwakumbukira nymbot/ mbali zomwe akauntuyi inapanga. Ntchito yotsatira pa repository imeneyo, kapena Chotsani nthambi za Nymbot mu mndandanda wa repository, amathetsa amene pull request yawo inali yotsimikizidwa kapena yotsekedwa, kapena amene akhala masiku asanu ndi awiri ali ndi zopanda kuchotsedwa ku merge. Branch imafotokozedwa ngati imatha pamene ikuyendabe pa commit Nymbot anatheza kulemba, choncho ngati wina wapereka zinthu zatsopano kuyambira pamenepo zimasiya, ndipo palibe branch ina iliyonse yomwe imakhudzedwa. Zimayenda kuchokera pa chida chanu ndi token imene ikutumizira kale; server sosiya token kuti ichite izo nthawi ina.

Zimetsatira zimenezi zimathandiza kuti ntchito imakhale ndi repository yake yodziyimira, ndipo ntchito ina pa branch imodziyo idzawerenga chabe mpaka yoyamba itamaliza. Zinthu zina zakale za app nazo zimagwira ntchito m'njira imeneyi.

Kukonza zomwe zinthu zinayamba kusintha pambuyo pa kuyendetsa

Mayankho omwe adalembera malo osungira zinthu anu (repository) akunena zomwe wakhudza: malo osungira zinthu, chiati (branch), komanso fayilo iliyonse. Chotsani kusintha kumeneku amabwezera — njira iliyonse yawo imawerengedwa pa commit yomwe branch inali pa nayo musanayambe ndipo imasungidwa monga mmene inali. Ntchito yomwe inagwira ntchito pa pangatunda wake wapadera ndasiya branch yogwira ntchito yokha, choncho palibe chilichonse chomwe chili komwe tingabwezere: Chotsani amachotsa mphata wake m'malo mwake.

Imatha kukhala kubwereranso m'mbuyo, osati kulemba zonse kachiwiri. Palibe chomwe chafafanizidwa ndipo mbiri simalembedwanso: zomwe Nymbot anachita zili m'mbiri, ndipo zatsala zili m'log, ndiye kuti sizili m'mbali ya branch kachiwiri. Aliyense yemwe anatenga (pulled in) pakati pa nthawi imeneyi ali ndi checkout yomwe ikugwira ntchito.

Siliyadwa ndalama chilichonse. Kusokoneza sikukhudza model, choncho sizagwiritsa ntchito ma credit — access token imayenda ndi pempho limenelo monga mmene imachitira ndi malemba onse ena, ndipo palibe chilichonse cha checkpoint chomwe chimasungidwa kulikonse kupatula pa chida chanu chokha.

Mafayilo okha

Branch kapena pull request yomwe inatsegulidwa ikuonekera ndipo ikusiya pamene ilipo. Kutseka pull request ya munthu m'malo mwake si kukhululukira, ndipo kufafaniza branch yomwe anthu ena angakhale atatenga (fetched) nako si kukhululukira — chitani izi nokha ngati mukufuna kuti zisakhale.

Ntchito ya repo imagwiritsa mtengo wanji

Ntchito ya repo imagwiritsa ntchito mpaka kuitira model katatu pa uthenga umodzi — onani, werengani, kufufuza, kuyankha — iliyonse ikulipiridwa pamtengo wa model yomwe yasankhidwa Mtengo wa ProNdi maimelo amene agwiritsidwa ntchito okha amalangizidwa ndalama, choncho yankho lomwe laperekedwa kuchokera mu fayilo imodzi limatenga ndalama zofanana ndi zomwe yankho la nthawi zonse limatenga.

Pulogalamu imapereka chiwerengero chathunthu ndi kuchuluka kwa ma foni pambuyo pa ntchito iliyonse ya repo.

Pamene ntchito ikusowa malo

Ntchito ya repository ndi dongosolo lopindulira (loop), osati yankho limodzi: model imafotokoza directory, imawerenga file, imafunafuna m'mitengo ya mafayilo, imawerenga ina, ndipo ndipo kenako imalemba. Dongosololi lili ndi malire — chiwerengero cha kulimbikitsa model chomwe mayankho amapereka ndalama zoyenera — chifukwa agent wopanda malire ndi mbiri ya malipiro yopanda malire.

Pamene ntchito ikugwiritsa ntchito malipiro ake pamene pali ntchito yoti ichite, Nymbot imayima, kukupatsani zomwe ili nazo, ndipo imati zimenezo. Palibe zina zomwe zidzaperekedwe.

Mutha nautulanso kuti ipitirize. Sankhani bajeti yopitirizira mu Settings ndipo Nymbot amagula mwayi wina kuchokera pa balance yomweyo pamene ntchito itatha, kuyamba pamene inamalira m'malo mwa kuwerenga bukuli kachiwiri kuchokera pachiyambi. Imapita pang'onopang'ono, ndipo gawo lililonse limati ndi ndalama zingati zomwe zagwiritsidwa ntchito, ndipo imayima nthawi yomweyo bajeti ikatha, ntchito itatha, kapena mukakhazikitsa Stop. Kusankha “mpaka balance yanga itatha” kuli ndi malire — ndi balance yanu m'malo mwa nambala yomwe munalemba.

Zindikirani

Zofunika monga m’mbuyomo ndi kuima ndi kukudziwitsani. Palibe chomwe chimapitirira, ndipo palibe chomwe chimagwiritsidwa ntchito kupitirira mayankho omwe mwapempha, kupatula ngati mwasankha ndalama zogwiritsira ntchito.

Nthawi zambiri chida chanu timatumiza gawo lililonse, choncho ntchito imapitirira pokhapokha pamene pulogalamu ili olembedwa. Ndi zomwe zikuyenda m'mbuyo akakhala wotsegulidwa, seva imatumiza magawo akutsogolo okhudza mwini wake pamene pulogalamu ili yasiyidwa, m’ndondomeko imodzi, magawo osapitira 40 ndi maola 6, ndipo kukudziwitsani kamodzi ntchito ikatha. Kuti achite zimenezi, amasunga token ya repository yotseka ndi kiyi yomwe iwo okha amayidziwa pamene ntchito ikuyenda, ndipo imachotsa token imeneyo ntchito ikatha ndipo nthawi zonse m’madera a maola 6. Ntchito yaku mudzi (background task) imalemba m'gulu lake ngati ntchito iliyonse ina.

Za chizindikiro chimenecho

Za chizindikiro chimenecho

Chikalata chogwiritsira ntchito (access token) chimasungidwa pa zida zanu ndipo chimagwirizana pakati pa izo m'mbali mwa zinthu zanu zomwe zili zotetezedwa ndi munthu aliyense (end-to-end encrypted settings), choncho seva imakhala ndi nakale yokhe yosefukira yomwe sitingathe kuwerenga. Imathidwa ndi a Kufuta chida, amayenda ku ntchito ya Nymbot pa chilichonse cha pempho, ndipo sikumasungidwa mofotokozedwa kumbali ya server kapena kutumizidwa ku ma relay. Nthawi yokha yomwe server imasunga ndiyo pakati pa chinsinsi, pamene a kuyenda m'mbuyo woseka ukugwira ntchito, kwa maola osachepera 6. Ikani m'chipinda chimodzi (repository) chomwe mukufuna kugwiritsa ntchito, ndipo chotsani kwa opereka anu mutamaliza.

Chifukwa choti imasunganso, macheza ogwiritsa ntchito repository amagwira ntchito pa chida chilichonse chomwe munalowera popanda kulumikizanso. Kutsekha repository pa chida chimodzi kumafufutanso token pa zinanso. Token siimalowa mu server yendetsakatundu wa