Kana wanga uchishandisa GitHub uye uchida mutsara wekuraira senge ini kuti zvese zviitwe pasina matambudziko paGUI, unogona kunge waona kuti GitHub yakatanga sei kushandisa yavo isiri-iyo-nyowani chishandiso chinonzi "gh". Ndakasarudza kuipfura, nekuti yairatidzika kuva inovimbisa mushure mezvose. Uye ini pachangu ndakazvifarira zvakanyanya - Zvakanyanya zvekuti ndaida kugadzira chinyorwa nezvazvo!
Tisati tatanga zvakadaro, ndinofanira kutsanangura akati wandei mazwi andichange ndichishandisa muchinyorwa chino.
"GH" inomirira "GitHub”. Apa ndipo panobva zita rechishandiso kubva zvakare, saka haigone kuvhiringwa neGit pachayo. Kuti utsanangure zvazvinoita kazhinji, unogona kugadzira, forogo, kudzima, kutarisa repos; gadzira zvikumbiro zvekudhonza; nezvimwe zvakawanda. Kana ukasawana chimiro asi zvakare usingade kusiya terminal, inopawo mavara-based browser kuti iwe uongorore mapeji muGitHub.
"CLI" inomirira "Command Lini Iinterface". Iyo Terminal (kana muWindows, Command Prompt) ndeimwe yacho. Kana paine "CLI" yakawedzerwa padivi pezita reapp ("Git CLI" yechinyorwa ichi), zvinoreva kuti app inomhanya kuburikidza neterminal chete. Uye "Git CLI" mune ino mamiriro ndeye, zvakanaka, iyo Git yatinoziva. Kufanana nemurairo watinoita kuzvipira kana kudzoreredza nawo.
GUI inomirira kuti "Graphical Uwater Iinterface" uye ndiyo interface yatino "famba" pairi. Zvirinani zvakati, nzvimbo yedesktop kazhinji iGUI.
"API kiyi" imwe mhando yetambo yakavanzika / faira raunoshandisa kuratidza kune masevhisi. Chenjera kuti inodarika 2 factor authentication uye zvichingodaro kana waita chokwadi nazvo. Saka ita shuwa kuvachengeta vakachengeteka uye kumwe kusiri kusvikirwa nedzimwe nzira.
Chokutanga pane zvose, chii chiri chishandiso ichi? Inobata sei mashandiro ataizoita kuburikidza neGit CLI?
"gh" inogona kutorwa seyakavhurika sosi (Source Code) wrapper inoshandisa Git CLI pachayo uye GitHub APIs kuti zvinhu zviitwe. Muchokwadi, iwe unogona kunyange kupfuudza paramita kune iyo Git mirairo yainoshandisa! Ndichapinda mune izvo gare gare.
Kuisa nekugadzirisa
Ramba uchifunga kuti ini ndichapfuura nekugadzika ndichishandisa termux. Asi maitiro acho anofanira kunge akafanana neaungave nawo paDebian-based distro - Ubuntu anayo pane yavo yepamutemo repos semuenzaniso. ZveWindows, zvakanaka, unoda kana CygWin kana WSL ndinofungidzira. ¯\_(ツ)_/¯
# Ngatiisei chishandiso kutanga. Zvakare kuisa Git sezvo iri backend # yegh. $ pkg isa git gh -y # Zvino pamberi pezvese, isu tinofanirwa kuve nechokwadi. Izvi zvichachengetedza # nyowani API kiyi pane dhatabhesi remudziyo saka hauzodi kutendesa # zvakare. Kana wakatoseta GITHUB_TOKEN, izvi hazvishande zvisingaite # izvo kutanga. :) $ gh auth login
Zvino, tisati taenderera mberi pano, ndinoda kunongedzera zvinhu zvakati kuti.
- Chekutanga, usasarudza "GitHub Enterprise Server" kana iwe usina imwe mhando yekuzvigashira GitHub.
- Chechipiri, shandisa SSH pachinzvimbo cheHTTPS kana uine kiyi yako yeruzhinji yakawedzerwa paGitHub account yako. Kana ukarasikirwa nekiyi yeAPI, haungarasikirwe nekiyi yako yeSSH saka inogona kunge iri nzira yakanaka yekudzokera shure.
- Chechitatu, sarudza kupinda nebrowser chete kana iwe usina API kiyi paruoko! Chaizvoizvo, hazvingaite zvine musoro kuve neimwe kiyi iwe uchitova nayo.
Kana wapedza kuseta zvinhu, ngatiudze Git CLI nezvazvo.
$ gh auth setup-git
Izvi zvinogadzira iyo inodiwa yeGit CLI zvigadziriso kuitira kuti pfungwa dzako dzipinde mukati uye dziite kuti ushandise Git panzvimbo yeGH.
Mimwe mirairo yakakosha
Zvino zvawamisa GH, rega ndikudzidzise akati wandei mirairo mumusoro wenyaya.
Chekutanga, ngatiti iwe unoda kugadzira chikumbiro chekudhonza kune yangu yemuno manifests repo. Unoda kutanga waiforoma.
$ gh repo fork windowz414/platform_manifest ! windowsz414/platform_manifest yatovapo ? Unoda kugadzira forogo here? Hongu Cloning kupinda 'platform_manifest'... kure: Kuverenga zvinhu: 136, zvaitwa. kure: Kuverenga zvinhu: 100% (136/136), zvaitwa. kure: Kudzvinyirira zvinhu: 100% (81/81), zvaitwa. kure: Total 136 (delta 46), yakashandiswazve 89 (delta 12), pakiti-yakashandiswazve 0 Receiving objects: 100% (136/136), 30.70 KB | 166.00 KB/s, zvaitwa. Kugadzirisa deltas: 100% (46/46), yakaitwa. Kuvandudza kumusoro Kubva github.com:windowz414/platform_manifest * [bazi idzva] amyrom/rosie -> kumusoro/amyrom/rosie * [bazi idzva] aosp-eleven -> kumusoro/aosp-eleven * [bazi idzva] aosp-ten -> kumusoro/aosp-ten * [bazi idzva] museve-11.0 -> kumusoro/museve-11.0 * [bazi idzva] cm-14.1 -> kumusoro/cm-14.1 * [bazi idzva] dot11 -> kumusoro/dot11 * [bazi idzva ] e/os/v1-nougat -> kumusoro/e/os/v1-nougat * [bazi idzva] fluid-11 -> kumusoro/mvura-11 * [bazi idzva] fox_7.1 -> kumusoro/gudo_7.1 * [bazi idzva] hentai-rika -> kumusoro/hentai-rika * [bazi idzva] ion-pie -> kumusoro/ion-pie * [bazi idzva] mutsara-15.1 -> kumusoro/mutsetse-15.1 * [bazi idzva] dzinza -17.1 -> kumusoro/ mutsara-17.1 * [bazi idzva] mutsara-18.1 -> kumusoro / mutsara-18.1 * [bazi idzva] mutsara-18.1_teos -> kumusoro / mutsara-18.1_teos * [bazi idzva] mutsara-19.0 - - > kumusoro/mutsara-19.0 * [bazi idzva] guru -> kumusoro/pamusoro * [bazi idzva] mkn-mr1 -> kumusoro/mkn-mr1 * [bazi idzva] revengeos-r11.0 -> kumusoro/ revengeos-r11.0. 1 * [bazi idzva] stellar-S1 -> kumusoro/stellar-S11 * [bazi idzva] teos-n -> kumusoro/teos-n * [bazi idzva] weebprojekt-11 -> kumusoro/weebprojekt-XNUMX ✓ Cloned fork
Wobva wati une sangano rakasiyana rezviedzo zvako zvinonzi "wz414-labs", zvausina kuforoma pane yako pachako mbiri uye unoda kuvharira ipapo wobva wavhura chikumbiro chekudhonza ipapo ipapo. Iwe zvakare unoda kubatanidza iyo "cm-14.1" bazi kuti hauzodi kuita git-checkout kwairi zvakare.
$ gh repo fork windowz414/platform_manifest --org="wz414-labs" -- --branch="cm-14.1" ✓ Yakagadzirwa fork wz414-labs/platform_manifest ? Unoda kugadzira forogo here? Hongu Cloning kupinda 'platform_manifest'... kure: Kuverenga zvinhu: 136, zvaitwa. kure: Kuverenga zvinhu: 100% (136/136), zvaitwa. kure: Kudzvinyirira zvinhu: 100% (81/81), zvaitwa. kure: Total 136 (delta 46), yakashandiswazve 89 (delta 12), pakiti-yakashandiswazve 0 Receiving objects: 100% (136/136), 30.70 KB | 120.00 KB/s, zvaitwa. Kugadzirisa deltas: 100% (46/46), yakaitwa. Kuvandudza kumusoro Kubva github.com:windowz414/platform_manifest * [bazi idzva] amyrom/rosie -> kumusoro/amyrom/rosie * [bazi idzva] aosp-eleven -> kumusoro/aosp-eleven * [bazi idzva] aosp-ten -> kumusoro/aosp-ten * [bazi idzva] museve-11.0 -> kumusoro/museve-11.0 * [bazi idzva] cm-14.1 -> kumusoro/cm-14.1 * [bazi idzva] dot11 -> kumusoro/dot11 * [bazi idzva ] e/os/v1-nougat -> kumusoro/e/os/v1-nougat * [bazi idzva] fluid-11 -> kumusoro/mvura-11 * [bazi idzva] fox_7.1 -> kumusoro/gudo_7.1 * [bazi idzva] hentai-rika -> kumusoro/hentai-rika * [bazi idzva] ion-pie -> kumusoro/ion-pie * [bazi idzva] mutsara-15.1 -> kumusoro/mutsetse-15.1 * [bazi idzva] dzinza -17.1 -> kumusoro/mutsetse-17.1 * [bazi idzva] mutsara-18.1 -> kumusoro/kutsetse-18.1 * [bazi idzva] mutsara-18.1_teos -> kumusoro/mutsara-18.1_teos * [bazi idzva] mutsara-19.0 - - > upstream/lineage-19.0 * [bazi idzva] guru -> kumusoro/pamusoro * [bazi idzva] mkn-mr1 -> kumusoro/mkn-mr1 * [bazi idzva] revengeos-r11.0 -> kumusoro/kutsiva-r11.0. 1 * [bazi idzva] stellar-S1 -> kumusoro/stellar-S11 * [bazi idzva] teos-n -> kumusoro/teos-n * [bazi idzva] weebprojekt-11 -> kumusoro/weebprojekt-XNUMX ✓ Cloned fork
Iwe unoona ini handina kushandisa “-b cm-14.1” uye ndakaita nharo refu pachinzvimbo. Kubva pamusi wechinyorwa chino, Kukadzi 16, 2022, GH ine bug yekuti haipfuure nharo pfupi kuGit CLI nemazvo uye saka inoda kuitwa sekupokana kwakareba panzvimbo.
Kana izvo zvangoitwa, iwe wagara wakapinda muforodha, wakaita shanduko dzako, wakazvipira wobva waisundira, uye wakagadzirira kuita kudhonza chikumbiro. Nokuda kweizvi, zvose zvaunoda zviri nyore
$ gh pr kugadzira --bazi ="cm-14.1" Kugadzira chikumbiro chekudhonza wz414-labs:cm-14.1 mu cm-14.1 muwindowz414/platform_manifest ? Title teos: Shandura kuGit-Polycule? Muviri ? Chii chinotevera? Tumira https://github.com/windowz414/platform_manifest/pull/1
Kana ukasaisa “–bazi=cm-14.1”, unenge uchigadzira PR yakananga “main” bazi, zvinova zvinokonzeresa nyaya kana zvisina kubatwa nemazvo.
Uye zvino, ini ndinoda kubatanidza iyi PR, handiti? Saka ndinotanga ndaenzanisa repo, ndobhadhara kubazi rakagoverwa, ndotanga ndanyora maPR.
# Kugadzira kutanga. $ git clone https://github.com/windowz414/platform_manifest Cloning kupinda 'platform_manifest'... kure: Kuverenga zvinhu: 136, zvaitwa. kure: Kuverenga zvinhu: 100% (136/136), zvaitwa. kure: Kudzvinyirira zvinhu: 100% (81/81), zvaitwa. kure: Total 136 (delta 46), yakashandiswazve 89 (delta 12), pakiti-yakashandiswazve 0 Receiving objects: 100% (136/136), 30.70 KB | 137.00KiB/s, zvaitwa. Kugadzirisa deltas: 100% (46/46), yakaitwa. # Wobva watarisa kubazi. $ git Checkout cm-14.1 bazi 'cm-14.1' set up kuteedzera 'mavambo/cm-14.1'. Kuchinjira kubazi idzva 'cm-14.1' # Uye zvino nyora PRs. $ gh pr list Ratidza 1 pane 1 vhura kudhonza chikumbiro muwindowz414/platform_manifest #1 teos: Shandura kuGit-Polycule wz414-labs:cm-14.1
Zvino zvatiri kuona pane PR yekushandura kure ku "Git-Polycule", ngationei zvachinja nazvo.
$ 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 @@
Zvinoita sezvine vimbiso! Nguva yekusangana!
$ gh pr kubatanidza 1 ? Ndeipi nzira yekubatanidza yaungade kushandisa? Rebase uye kubatanidza? Chii chinotevera? Tumira ✓ Yakadzoreredzwa uye yakasanganiswa chikumbiro chekudhonza #1 (teos: Shandura kuGit-Polycule)
Zvino zvandazvibatanidza, unogona kudzima forogo yako.
$ gh repo delete --confirm wz414-labs/platform_manifest ✓ Deleted repository wz414-labs/platform_manifest
Iwe unoona izvo zvakananga kudzima repo pasina chikumbiro chekusimbisa nekuti ndakapfuura iyo "-confirm" parameter ipapo. Kana ukasazvipasa, waiwana izvi:
$ gh repo bvisa windowsz414/systemd ? Nyora windowsz414/systemd kusimbisa kubviswa:
Uye iwe unozofanirwa kutaipa rese repo zita. Kurasa nguva...
pfupiso
Zvichitaurwa zviri nyore, `gh` yakanaka yakarerutswa Git CLI / Curl wrapper inobatanidza nyore Git mashandiro uye GitHub API zvinhu pasi pedenga rimwechete. Unoishandisa sei? Zvinoita sezvine vimbiso kwauri sezvazvinoita kwandiri here? Ndinotarisira kunzwa kubva kwauri!