Bingeha zanînê Kod
Di depoya git de dixebitin
Pro dikare di hundirê yek ji repositoriyên te de mîna ajenekekê kodê bixebite — fîlayên te yên rast dixwîne, û bi nivîsandinê wan diguhertîne.
Ev rûpel ji bo rehetiyê bi makîneyê hatiye wergerandin. Orjînala Îngilîzî guhertoya ku derbas dibe ye.
Têkilîdan bi repositoriyekê re
?git, an jî Git çîpa di toolbarê de, pêşniyarekê girê dide:
GitHub, GitLab, an jî Gitea/Forgejo — ku Codeberg û înstansên self-hosted dighêjin.
Tokena gihîştina kesane ya sînorî (scoped personal access token), repositoriyek û şaxekê (branch) digire. Repositoriyeke ku
Li ser Nostr xwe ragihand dikare wekî navnîşan lê bê danîn.
Navê depoyê dinivîsîna te ne pêwîst e. Tokenê paste bike û hilbijêre. Lîsteyê bikin ka ev token dikare bigihîje çi.: Nymbot ji forgeyepirs dike ku ew token çi dike û bersivê wekî lîsteyekî nîşan dide ku tu kontrol dikî. Kontrolkirin her yek bi şaxê wê ya default a ku jixwe hatiye tije kirin ve girê dide, û hemûyan di vê sohbetê de dike. Her tiştê ku jixwe hatî girêdan wekî wî tê nîşandan, lê ji bo careke din nayê pêşkêşkirin. Ew daxwaz ji amûra te rasterast diçe forge — ne bi rêya xebatkarê Nymbot — ji ber vê yekê token bi cihê ku jixwe diçe de ne, bi cihê din nagerî. Forgeyeke self-hosted ku daxwazên cross-origin red dike, bi hêsanî nayê lîsteyê kirin; navê repo bi destê xwe binivîse û her tişt wekî xwe kar dike.
Gava hat werguherandin, çip navê repositoriyê û peyamên bi ... hatine şandin nîşan dide
Modelê Pro di konteksta wê depoyê de hatە hilbijartin.
?git disconnect jêradibe. Veqetîne di lîsteya repoan de
tokenê ji bîr dike lê repo li wir dimîne, wekî ku tune ye diyar dike, da ku tu di paşê de yek a nû lê zêde bikî.
Reposîtoriyên li ser Nostr hatin ragihandin
Hinek depon li şûna tenê li ser forgeyekê, xwe li ser Nostr ragihînin, bi bikaranîna NIP-34 — protokola li pişt ngit û gitworkshop. Ragihandin bûkeve bûndana Nostrê ku navê projeyê, parêzerên wê, relayên ku patch û pirsgirêkên wê kom dikin, û URL yên ku tê de dikare bê klonkirin li xwe dihewîne. Bûndeke din dibêje ku her şax (branch) niha li ku vebûye.
Paste bike an naddr an jî a nostr:// navnîşan bide nav forma depoyê û
bitikîne Li wî bibîjeNymbot ragihandina ji relayan dixwîne û formê tije dike: hosta git a ku ji wê hat klonkirin, repo li wir, û çarçoveya (branch) ku projeyê bi xwe dibêje ku ew ya nuyî ye. Tu hîn jî ji bo wê hostê tokenek lê zêde dikî, ji ber ku Nostr ragihandinê dijwar dike û servera git koda dijwar dike.
Bi vê yekê tê wê armancî ku rêzik tenê ew der e ku ji wê tê klonkirin. Repozitoyeke ku URL-a klonkirina wê li ser
GitHub, GitLab, Gitea an Forgejo — tevî yên self-hosted jî — heye, ew yek e ku Nymbot dikare bixwîne.
Yek ku tenê bi rêya klonkirinê... git:// an jî ssh tune ye ku bi rêya API-ya HTTP dosyayan bixwîne, û Nymbot li şûna ku bi awayekî nîv-pêşve bibe, wusa dibêje. Li cihên ku host bi xwe hatine hostkirin, sepandeyî li gorî navê wê tê pêşbînîkirin, û tu dikarî berî pakarkirinê wê rast bikî.
Depoyaturiyeke bi vê şêweyî hatî kirin, navekî (badge) lê hatî xistin ngit di lîsteyê de, û bersiv wan bi navê ku ew diyar dike dibêjin, ne bi rêya wî ya li ser aynayê.
Ew çi dikare bike?
Peyamek di konteksta repo de wekî ajaneke biçûk dixebite, ne wekî temamkirineke yekser. Model dikare direktoran bileyfe, dosyan bixwîne û darê bînim (search), paşê bi wê tiştê ku wekî rastî dît bi bersiv bide — ji bo vê yekê bersiva "çima dara dubarekirinê (retry loop) zû desistîne" ji koda te tê, ne ji bîra ku koda wekî ya te bibe.
Ew şaxê ku te girêdayî kiriye, li ser serê wê ya niha dibîne.
Bi server dixebite Ji bo sohbetê hatiye vekirin, dikare daxwaz bike ku komendek li ser koda te, wekî testekan, li ser serverekî Nymbot pêk bîne. Her carê li benda destûra te ye.
Nivîsandin diyar dike
?git writes on şiyana commitkirina fîlan, çêkirina şaxan û vekirina daxwazên pull
an jî mergekirinê lê zêde dike. Bi default nemidiye, û heta ku tu dixwazî nemidiye çêtir e.
Bi xala nivîsandinê re, daxwaza guhertinê bike û li şûna patchekê ku di chatê de hatiye danîn, tu şaxek (branch) û daxwazeke xwestinê (pull request) ji bo nirxandinê werdegirtî: her erk li ser dixebite şaxekî xwe. Tişt ne tê şandin ser şaxê (branch) sereke yê te heke tu wê neoff bikî; ew ew şax e ku te girêdayî kir û te daxwaz kir.
Guhertinên çalakiyekê wekî yek commit li gorî her repositoriyekê têne kirin, di dawiya çalakiyê de an jî dema ku model diyar dike ku parçeyek ji xebatê temam bûye. Heke tu dixwazî berî her tiştî wan bibînî, veke. Berî tekeftinê bipirse ji bo wê depozyeya (repository). Piştî wê, xorak (run) guhertinên xwe dişêre, bersiv wan wekî diff nîşan dide, û Separîne dema ku ew dike... Bêdanin van dibêje away.ە Revan kirin bi hîç nabe.
Ji bo her karî şaxekî heye
Bi Her kar şaxekî xweşî heye li ser, ku ji bo her repositoriyê heye ma kê tê ku tu naxinî ve, tarekek ku commitan li ser şaxekî taybet ê xwe dinivîse, bi navê
nymbot/ û ID'ekî kurt. Nymbot wê ji serê şaxa ku dixebite çêdike
gava erk (task) yekemîn commitê xwe dike, lejê erkê ku tenê dixwîne tu şax çên nake.
Şaxa ku dixebite bi xwe ne tê dewerdan, ji ber vê yekê çend erk dikarin bi heman demê de
bi hev re li ser heman repositoriyê binivîsin, li şûna ku li benda rêza xwe bimînin.
Dema erk bi dawî dibe, Nymbot çi dike Dema qediya dibêje. Daxwaza pull ekî kirinê veke bi default e; Pêşniyara yekkirinê bike li ser bersivê bişito bişitike rûpelê; Şaxê bihêle tiştekî din nake. Default di Settings de hatîye danîn, di binê Dema şaxa erkî bi dawî dibe, û her reposîtoriya dikare bi şêwazê xwe yê cuda hilbijêre. Heke forge ji bo pull requestan nexweşiyeke API'yê nede ku Nymbot bikar bîne, an jî refuse bike, şax (branch) wekî xwe dimîne û bersiv diberêje vê yekê.
Bersiv şaxê bi nîşan dide PR veke, Yekkirin û Jê bibe, û pane-a Karan (Tasks) wê bi kar re di nav lîsteyê de nîşan dide. Dema ku kar hîn di nav pêvajoyê de ye, karta wê, pane-a Karan û lîsteya tiştên ku di nav pêvajoyê de ne, navê şax (branch) rasterast bi temamî nîşan didin, li ser her amûrê ku bi hesabî hatîye vekirin. Karê ku rawestiyaye an jî di nava rê de têxelî bûye, şaxê xwe hîn jî vedegere, da ku mîna her tiştî din bê yekkirin, jêbirin an jî paqijkirin. Yekkirin (merge) bi rêya 'merge commit' di nav pull request a xwe ya forge dike, ku li ser commitê ku Nymbot wekî nîşan dabû hatiye piştrastkirin, da ku commitên nû yên di navbera wê demê de bêyî ku werin dîtin nebin mijar. Tu tişt bi awayekî bi zorê (force-push) nayê şandin. Heke şax bi şaxa amade (working branch) tevliheviyê (conflict) çêbikine, bersiv pêşniyar dike PRê veke ji bo çareserkirinê an Ji Nymbot re bipirse ku şaxê (branch) nû bike, ku şaxê kar dike nav wê bi komîteke yekkirinê (merge commit) an jî bi rebasingê. GitHub û Gitea an Forgejo dikarin wê yekê bikin; GitLab ji bo wê API nîne, ji ber vê yekê li wir tu bi daxwaza yekkirinê (merge request) çareser dikî.
Guherînên li ser dosyayên CI û workflowan hîn jî li benda nirxandina te ne, tam wekî ku bêyî şaxeke wan a taybet dikin.
Amûrê te van bi bîr dixîne nymbot/ şaxên ku vê hesab kirine. Erka din
li ser wê repositoriyê, an jî Şaxên Nymbot paqij bike di lîsteya depoyê de,
yên ku pull requestê wan hatine yekkirin an girtin, an jî yên heyî pênç rojan e û tiştekî ji bo yekkirinê mayî nîne, jê dibe. Şax (branch) tenê heke hîn di nava commitê ku Nymbot qeydkirine de bi dawî bibe tê jêbirin, lewma heke kesekî piştî wê de tiştekî şandibe ew wekî xwe dimîne, û tu şaxê din qet ne têne helkilandin. Ji bo vê yekê ji enîtiya te re bi tokenê ku jixwe dişîne dixebite; server ji bo ku di paşê de bê kirin tu token nakhîne.
Vebijarkê vevirîne ku rasterast li ser şaxê xebatê commit bikî. Paşê erk tenê li gel repo ye, û erkeke din li ser heman şaxê tenê dixwîne heta ku yê yekem bi dawî dibe. Werşên kevin ên sepanê jî bi wî rengî dixebitin.
Vedogerîna tiştê ku xorak (run) guhartiye
Bersivê ku ji bo depoya te hat nivîsandin dibêje çi kirî: depoya, şax (branch), û her filekî. Vê guhertinan vegerîne dizine ve vedixîne — her yek ji van rêyan di koma (commit) ku şax (branch) berî xebatê li ser bûye de tê xwendin û wekî ku bû, tê komkirin. Karê ku li ser xebitî... şaxek ji bo xwe 🌿 şaxa karê bi tenê hişt, ji ber vê yekê tiştek li wir tune ye ku bête vegerandin: Jê bibe şaxê xwe jêradike li şûna wê.
Ew veger (revert) e, ne nûvekirin (rewrite) e. Tişt ne tê jêbirin û ne dîrok tê veguherandin: tiştê ku Nymbot kir di log de dimîne, tenê êdî rewşa şax (branch) nîn e. Her kesê di navbera de data/kod kişandiye, checkoutekê dide destê xwe ku hîn jî kar dike.
Bi tu nothing nabe. Betorkirin modelê naxîne dest, loma tu kiredît neyên bikaranîn — access token wekî her tiştê din bi wê yekê reqestê re diçe, û derbarê checkpointê de tu tişt li derveyî amûra te nayê danîn.
Branch an pull request ku hatî vekirin tê lîstirkirin û li wir dimîne. Girtina pull request a kesekî bi navê wî/wê ne betewandineke vegerê ye, û jêbirina branchê ku dibe ku kesên din wan hîncî bin jî ne betewandineke vegerê ye — heger tu dixwazî ew winda bibin, wan bi xwe bike.
Çi bi hebûna erkê repo (repo task) dimeşe?
Taska repo heta sexte çand in per ku perguhekan (model calls) ji bo her peyamê bikar tîne — lê neger e, bixwîne, lêkolîn bike, bersiv bide — yek bi yekî bi fîaxa modela hatî bingehkirin dihên hesabkirin Bahorê ProTenê yên ku bi rastî têne bikaranîn tên cudakirin, ji ber vê yekê bersivdana pirsyarekê ji yek dosyayê bi nirxê bersiveke asayî ve tê hesabkirin.
App piştî her kirara repo, bi giştî û hejmara bangan raport dike.
Dema ku karekî cihê wî bi dawî dibe
Taska repo rekuratîk (repository) curek xelata (loop) ye, ne bersivek yekser e: model dîrektora yek list dike, dosyeyek dixwîne, di nav darê (tree) de lêgerînan dike, yekî din dixwîne, û tenê piştî wê dinivîse. Ew xelat (loop) xwedî rêveberî ye — hejmareke bangên modelan ku krediyê bersivê ji bo wan veqetandiye — ji ber ku agentek bê sînor, faturayeke bê sînor e.
Dema ku karekî bi qeyûmekî (allowance) xwe biqedîne û hîn kar hebe, Nymbot rawestiyam ser xwe, tiştê ku di destê wî de heye dide te û dibêje wusa. Tiştekî din nayê daxistin.
Tu dikarî bihêle berdewam bike. Di Sazkirinê de budçeyeke berdewamiyê deyar bike û Nymbot dema ku erkek bi dawî dibe, ji heman hejmarê dabeşiyeke din dikişîne, û tam ji wê derê dest pê dike ku rawestiyaye, li şûna ku reposîtoriya ji nû ve ji destpêkê bixwîne. Ew carekê bi carekê diçe, her carek dibêje bi çendê hatî kirin, û tam di wê kêliyê de rawestiyam dike ku budçe bi dawî bû, erk bi dawî bû, an jî tu bitop (Stop) bitikînî. Hilbijartina “hey hejmara min bi dawî bibe” hîn jî sînor e — ew hejmara te ye, ne hejmareke ku te nivîsandi be.
Default we ev e ku bêst e û ji te re bibêje. Tişt nayê berdewamkirin, û tu tişt nebatî wî bersiva ku te xwestî de nayê xerckirin, heger ku tu budçeyek nehatibe danîn.
Bi normalî amûra te her gavyekê dişîne, ji ber vê yekê erk tenê di dema ku sepan (app) vekirî be berdewam dike. Bi çalakbûnên paşperde dema ku were weşandin, serverê dîsa çerxiya din dişîne bi xwe di dema ku app girtî ye, di nav heman budçeyê de, herî zêde 40 çerxi û 6 saet, û carekê dibêje te dema erk bi dawî bû. Ji bo vê yekê ew tokenê repository bi mifteyekê di nava dema ku erk di kar de ye parastî dixemîne ku tenê ew dizane, û dema erk bi dawî dibe û her tim di nav 6 saetan de jê tifa de. Erkê xwe li şaxê (branch) xwe dinivîse wekî her erkê din.
Li ser wê nîşanê
Tokenê gihîştinê li ser amûrên te tê girtin û di navbera wan de di hundirê sêtemên te yên bi şîfreya end-to-end hatî şîfrekirin de li hev tê sinxkirin, bi wusa server tenê kopiyeke girtî di destê xwe de dike ku nikare bixwîne. Bi ... tê paqijkirin. Paqijkirina amîrê, bi her daxwazê re diçe li cem xebatkarê Nymbot re, û tu carî li aliyê serverê bi awayekî dikuayî nayê danîn an jî ji bo relayan nayê weşandin. Tenê carê ku server wê digire ew jî bi mîna pakêzeke miftekar e, di dema ku a Li paşperde xebitandin pelika ku te vekir, herî zêde 6 saatan kar dike. Ew bi tenê ji bo wê depozytoriya (repository) ku tu dixwazî bikar bînî sînî bike, û dema ku te xelas kir, li cem pêşkêşkarê (provider) xwe bê xwerin.
Ji ber ku ew li hev dike, sohbetek ku depoyê (repository) bi kar tîne li ser her amûrê ku tu tê de tê de wekî (sign in) dixizî dixebite bêyî ku tu dîsa tê de vebiyanî. Veqetandina depoyê li ser amûrêyekê, tokenê li ser yên din jî paqij dike. Token tu carî nakeve a server çalak bikeKonteynira...