Haddii aad isticmaalaysay GitHub oo aad door bidday khadka taliska sida aniga oo kale si aad wax walba u sameyso iyada oo aan wax dhibaato ah ku dhicin GUI, waxaa laga yaabaa inaad dareentay sida GitHub uu u bilaabay inuu isticmaalo qalabkooda aan-so-cusub ee loo yaqaan "gh". Waxaan go'aansaday inaan siiyo tallaal, sababtoo ah waxay u muuqatay rajo ka dib oo dhan. Aniguna shakhsi ahaan aad ayaan uga helay - Aad ayaan u rabay in aan maqaal ka sameeyo!
Kahor intaanan bilaabin in kastoo, waxaan u baahanahay inaan sharaxo dhowr eray oo aan ku isticmaali doono maqaalkan.
"GH" waxay u taagan tahay "GitHub". Tani waa meesha magaca qalabku sidoo kale ka yimid, markaa laguma khaldami karo Git laftiisa. Si aad u sharaxdo waxa ay qabato guud ahaan, waxaad abuuri kartaa, fargeeto, tirtiri kartaa, baadh kartaa kaydka; samee codsiyo jiid; iyo qaar kaloo badan. Haddii ay dhacdo inaadan heli karin sifo laakiin sidoo kale aadan rabin inaad ka baxdo terminalka, waxay sidoo kale ku siinaysaa biraawsar qoraal ku salaysan si aad u baadho boggaga GitHub.
"CLI" waxay u taagan tahay "Command Laad Iinterface". Terminalkaas (ama gudaha Windows, Command Prompt) waa mid ka mid ah. Haddii uu jiro "CLI" ku lifaaqan magaca app ("Git CLI" ee maqaalkan), waxay la macno tahay appku wuxuu dhex maraa terminal kaliya. Iyo "Git CLI" macnaha guud waa, si fiican, Git-ka aan ognahay. Sida amarka aan samayno ballan ama dib-u-dhigid.
GUI waxay u taagan tahay "Gqallafsan USer Iinterface” oo waa interface-ka aanu “ku socono” Si ka sii fiican ayaa loo yidhi, jawiga desktop guud ahaan waa GUI.
Furaha API waa nooc ka mid ah xarig/faylal sir ah oo aad isticmaasho si aad u caddeyso adeegyada. Ka digtoonow inay dhaafto 2 qodob oo xaqiijin ah iyo wixii la mid ah markaad ku caddayso. Markaa iska hubi inaad ilaaliso ammaankooda iyo meel aan la gaadhi karin siyaabo kale.
Marka hore waa maxay qalabkani? Sidee ayay u maareysaa hawlgallada aan ku samayn lahayn Git CLI?
"gh" waxaa loo tixgelin karaa il furan (Source Codeduubabka isticmaalaya Git CLI laftiisa iyo GitHub APIs si wax loo qabto. Xaqiiqdii, waxaad xitaa u gudbin kartaa cabirrada amarada Git ee ay isticmaasho! Kuwa dambe ayaan geli doonaa.
Rakibaadda iyo dejinta
Maskaxda ku hay in aan mari doono rakibaadda anigoo isticmaalaya Termux. Laakiin nidaamku waa inuu la mid noqdaa sida aad ku yeelan karto Debian-based distro - Ubuntu waxay ku leedahay boosaskooda rasmiga ah tusaale ahaan. Daaqadaha, si fiican, waxaad u baahan tahay midkood CygWin ama WSL waxaan filayaa. ¯\_(ツ) _/
# Aynu marka hore rakibno qalabka. Sidoo kale ku rakibida Git maadaama ay tahay dhabarka dambe ee # gh. $ pkg install git gh -y # Kadib wax walba ka hor, waxaan u baahanahay inaan xaqiijino. Tani waxay kaydin doontaa # furaha API cusub ee kaydka qalabka si aadan u baahnayn inaad mar kale xaqiijiso. Haddii aad mar hore dejisay GITHUB_TOKEN, tani ma shaqayn doonto si aan loo dejin # marka hore. :) $ gh auth login
Hadda, inta aynaan halkan ku sii socon, waxaan u baahanahay inaan tilmaamo dhowr waxyaalood.
- Marka hore, ha dooran "GitHub Enterprise Server" haddii aadan haysan nooc GitHub ah oo is-martigeliyay.
- Marka labaad, isticmaal SSH halkii aad ka isticmaali lahayd HTTPS haddii furahaaga guud lagugu daray akoonkaaga GitHub. Haddii ay dhacdo inaad lumiso furaha API, ugu yaraan ma lumin doontid furahaaga SSH si ay sidoo kale u noqoto hab dib-u-dhac wanaagsan.
- Marka saddexaad, dooro inaad gasho browserka kaliya haddii aadan gacanta ku haysan furaha API! Runtii, macno ma samaynayso inaad haysato fure kale intaad horeba mid leedahay.
Marka aad dhammayso dejinta waxyaabaha, aan u sheegno Git CLI waxa ku saabsan.
$gh auth setup-git
Tani waxay ka dhigi doontaa isku xidhka lagama maarmaanka ah ee Git CLI haddii ay dhacdo in falcelintaadu soo gasho oo ay kaa dhigto inaad isticmaasho Git bedelkii GH.
Qaar ka mid ah amarrada aasaasiga ah
Hadda oo aad dejisay GH, aan ku baro dhawr amar oo aasaasi ah oo ku salaysan sheeko.
Ugu horrayn, aan nidhaahno waxaad doonaysaa inaad abuurto codsi soo jiidasho ah oo ku saabsan repo-ga deegaankayga. Waxaad rabtaa inaad fargeeto marka hore.
$ gh repo fargeeto windowz414/platform_manifest ! windowz414/platform_manifest mar hore ma jiraa? Ma jeclaan lahayd inaad xidho fargeetada? Haa Isku xidhka 'platform_manifest'... fogaan: Tirinta walxaha: 136, la sameeyay. fog: Tirinta walxaha: 100% (136/136), la sameeyay. fog: Walxaha cadaadiska: 100% (81/81), sameeyey. fog: Wadarta 136 (delta 46), dib loo isticmaalay 89 (delta 12), baakad dib loo isticmaalay 0 Qaadashada walxaha: 100% (136/136), 30.70 KiB | 166.00 KiB/s, la sameeyay. Xallinta deltas: 100% (46/46), la sameeyay. Cusbooneysiinta korka laga bilaabo github.com:windowz414/platform_manifest * [laan cusub] amyrom/rosie -> kor / amyrom / rosie * [laan cusub] aosp-kow iyo toban -> kor / aosp-kow iyo toban * [laan cusub] aosp-ten -> kor / aosp-ten * [laan cusub] fallaadho-11.0 -> kor / fallaadho-11.0 * [laan cusub] cm-14.1 -> kor / cm-14.1 * [laan cusub] dot11 -> kor / dhibic11 * [laan cusub] ] e/os/v1-nougat -> kor / e/os/v1-nougat * [laan cusub] dareere-11 -> kor / dareere-11 * [laan cusub] fox_7.1 -> kor / fox_7.1 * [laan cusub] hentai-rika -> kor / hentai-rika * [laan cusub] ion-pie -> kor u kaca / ion-pie * [laan cusub] nasab-15.1 -> kor / lineage-15.1 * [laan cusub] -17.1 -> kor / nasab-17.1 * [laan cusub] abtirsiin-18.1 -> kor / nasab-18.1 * [laan cusub] nasab-18.1_teos -> kor / nasabka-18.1_teos * [laan cusub] nasab-19.0 - > kor / lineage-19.0 * [laan cusub] ugu weyn -> kor / sare * [laan cusub] mkn-mr1 -> kor / mkn-mr1 * [laan cusub] aargoosi-r11.0 -> kor / aargoosi-r11.0. 1 * [laan cusub] stellar-S1 -> kor / stellar-S11 * [laan cusub] teos-n -> korka/teos-n * [laan cusub] weebprojekt-11 -> kor/weebprojekt-XNUMX ✓ fargeeto xiran
Markaa aynu nidhaahno waxaad leedahay urur u gaar ah tijaabooyinkaaga oo loo yaqaan “wz414-labs”, oo aanad weli fargeeto profile kaaga gaarka ah oo aad rabto inaad halkaas ku xidho ka dibna fur codsi jiid halkaas beddelkeeda. Waxaad sidoo kale dooneysaa inaad xirto laanta "cm-14.1" si aadan u baahnayn inaad mar labaad ku sameyso git-checkout.
$ gh repo fargeeto windowz414/platform_manifest --org="wz414-labs" -- --branch="cm-14.1" ✓ Fargeeto la sameeyay wz414-labs/platform_manifest ? Ma jeclaan lahayd inaad xidho fargeetada? Haa Isku xidhka 'platform_manifest'... fogaan: Tirinta walxaha: 136, la sameeyay. fog: Tirinta walxaha: 100% (136/136), la sameeyay. fog: Walxaha cadaadiska: 100% (81/81), sameeyey. fog: Wadarta 136 (delta 46), dib loo isticmaalay 89 (delta 12), baakad dib loo isticmaalay 0 Qaadashada walxaha: 100% (136/136), 30.70 KiB | 120.00 KiB/s, la sameeyay. Xallinta deltas: 100% (46/46), la sameeyay. Cusbooneysiinta korka laga bilaabo github.com:windowz414/platform_manifest * [laan cusub] amyrom/rosie -> kor / amyrom / rosie * [laan cusub] aosp-kow iyo toban -> kor / aosp-kow iyo toban * [laan cusub] aosp-ten -> kor / aosp-ten * [laan cusub] fallaadho-11.0 -> kor / fallaadho-11.0 * [laan cusub] cm-14.1 -> kor / cm-14.1 * [laan cusub] dot11 -> kor / dhibic11 * [laan cusub] ] e/os/v1-nougat -> kor / e/os/v1-nougat * [laan cusub] dareere-11 -> kor / dareere-11 * [laan cusub] fox_7.1 -> kor / fox_7.1 * [laan cusub] hentai-rika -> kor / hentai-rika * [laan cusub] ion-pie -> kor u kaca / ion-pie * [laan cusub] nasab-15.1 -> kor / lineage-15.1 * [laan cusub] -17.1 -> kor / nasab-17.1 * [laan cusub] nasab-18.1 -> kor / nasab-18.1 * [laan cusub] nasab-18.1_teos -> kor / nasab-18.1_teos * [laan cusub] nasab-19.0 - > kor / lineage-19.0 * [laan cusub] ugu weyn -> kor / sare * [laan cusub] mkn-mr1 -> kor / mkn-mr1 * [laan cusub] aargoosi-r11.0 -> kor / aargoosi-r11.0. 1 * [laan cusub] stellar-S1 -> kor / stellar-S11 * [laan cusub] teos-n -> korka/teos-n * [laan cusub] weebprojekt-11 -> kor/weebprojekt-XNUMX ✓ fargeeto xiran
Waxaad arkaysaa inaanan isticmaalin "-b cm-14.1" oo aan sameeyay doodda dheer. Laga bilaabo taariikhda maqaalkan, Febraayo 16, 2022, GH waxay leedahay bug ah inaysan u gudbin doodaha gaagaaban ee Git CLI si sax ah sidaas darteed waxay u baahan tahay in la sameeyo inta doodaha dheer.
Marka taas la sameeyo, waxaad si joogto ah u gashay galka, samaysay isbeddelladaada, go'aansatay ka dib riix, oo waxaad diyaar u tahay inaad sameyso codsi jiid. Tan, waxa kaliya ee aad u baahan tahay waa mid fudud
$ gh pr create --branch="cm-14.1" Abuuritaanka codsi jiid wz414-labs:cm-14.1 gudaha cm-14.1 gudaha windowz414/platform_manifest ? Ciwaanka teos: U Beddel Git-Polycule ? Jirka ? Maxaa xiga? Gudbi https://github.com/windowz414/platform_manifest/pull/1
Haddii aadan ku dhejin "-laanta=cm-14.1", waxaad abuuri doontaa PR dhanka laanta "ugu weyn", taas oo dabcan keeni doonta arrimo marka aan si sax ah loo maareynin.
Oo hadda, waxaan u baahanahay inaan ku daro PR kan, sax? Markaa marka hore waxaan xidhaa repo, hubinta laanta loo xilsaaray, oo marka hore liiska PRs.
# Cloning marka hore. $ git clone https://github.com/windowz414/platform_manifest Cloning galay 'platform_manifest'... fog: Tirinta walxaha: 136, la sameeyay. fog: Tirinta walxaha: 100% (136/136), la sameeyay. fog: Walxaha cadaadiska: 100% (81/81), sameeyey. fog: Wadarta 136 (delta 46), dib loo isticmaalay 89 (delta 12), baakad dib loo isticmaalay 0 Qaadashada walxaha: 100% (136/136), 30.70 KiB | 137.00 KiB/s, la sameeyay. Xallinta deltas: 100% (46/46), la sameeyay. # Kadibna iska hubi laanta. $ git checkout cm-14.1 laanta 'cm-14.1' oo loo dejiyay si loo raaco 'asalka/cm-14.1'. Loo beddelay laan cusub 'cm-14.1' # Oo hadda taxaya PRs. $gh pr liiska Muujinaya 1 ee 1 codsi jiid furan windowz414/platform_manifest #1 teos: U beddel Git-Polycule wz414-labs:cm-14.1
Hadda oo aan aragno inuu jiro PR si loogu beddelo fogaanta "Git-Polycule", aan aragno waxa ku beddelay.
$gh pr diff 1 diff --git a/teos.xml b/teos.xml index b145fc0..3aadeb6 100644 --- a/teos.xml +++ b/teos.xml @@ -2,7 +2,7, 414 @@
Waxay u muuqataa rajo! Waqti isku mid ah!
$gh pr isku darka 1 ? Habka isku-dhafka ah ee aad jeceshahay inaad isticmaasho? Dib-u-dhigis iyo isku-dar ? Maxaa xiga? Gudbi ✓ Codsiga jiidista ee dib-u-ku-salaysan iyo midaysan ee #1 (teos: Beddel Git-Polycule)
Hadda oo aan isku daray, waad tirtiri kartaa fargeetada.
$ gh repo tirtir --xaqiiji wz414-labs/platform_manifest ✓ Kaydka la tirtiray wz414-labs/platform_manifest
Waxaad arkaysaa in si toos ah u tirtiray repo iyada oo aan la helin wax xaqiijin ah sababtoo ah waxaan ku gudbiyay halbeegga "-confirm" halkaas. Haddii aadan gudbin, waxaad heli doontaa tan:
$ gh repo tirtir windowz414/systemd ? Ku qor windowz414/systemd si loo xaqiijiyo tirtirka:
Oo waxaad u baahan doontaa inaad ku qorto magaca repo oo dhan. Waqti lumis…
Summary
Si fudud loo dhigo, `gh` waa wax qurux badan oo la fududeeyay Git CLI/Curl duub oo mideeya hawlgallada Git ee fudud iyo waxyaabaha GitHub API ee isla saqafka hoostiisa ah. Sideed uga faa'iidaysataa? ma waxay kuugu eegtahay balan sida ay aniga ila tahay? Waxaan sugayaa inaan war kaa maqlo!