Má tá GitHub á úsáid agat agus gur fearr leat an líne ordaithe cosúil liomsa chun gach rud a dhéanamh gan aon deacrachtaí ar GUI, b’fhéidir gur thug tú faoi deara conas a thosaigh GitHub ag baint úsáide as a n-uirlis nach bhfuil chomh nua sin ar a dtugtar “gh”. Chinn mé lámhaigh a thabhairt dó, mar d'fhéach sé tuar dóchais inti tar éis an tsaoil. Agus thaitin sé go mór liom go pearsanta - an oiread sin gur theastaigh uaim alt a dhéanamh faoi!
Sula dtosaímid, áfach, ní mór dom roinnt téarmaí a bheidh á n-úsáid agam a mhíniú san Airteagal seo.
Seasann “GH” do “GitHub”. Seo an áit a dtagann ainm na huirlise freisin, mar sin ní féidir é a mheascadh suas le Git féin. Chun a mhíniú cad a dhéanann sé go ginearálta, is féidir leat a chruthú, forc, scriosadh, brabhsáil repos; iarratais tarraingt a chruthú; agus go leor eile. I gcás nach féidir leat gné a aimsiú ach nach bhfuil tú ag iarraidh críochfort a fhágáil freisin, cuireann sé brabhsálaí téacs-bhunaithe ar fáil duit freisin chun leathanaigh a bhrabhsáil i GitHub.
Seasann “CLI” do “Cordaigh Line Icomhéadan”. Tá an Teirminéal sin (nó i Windows, Pras Ordú) ar cheann acu. Má tá “CLI” i gceangal in aice le hainm app (“Git CLI” don alt seo), ciallaíonn sé go ritheann an aip trí chríochfort amháin. Agus is é “Git CLI” sa chomhthéacs seo, bhuel, an Git atá ar eolas againn. Cosúil leis an ordú a dhéanaimid gealltanais nó rebases leis.
Seasann GUI do “Grapach Uféach Ininterface” agus is é an comhéadan ar a ndéanaimid “nascleanúint” a dhéanamh. Níos fearr ráite, is GUI timpeallacht deisce go ginearálta.
Is ionann “eochair API” agus teaghrán/comhad rúnda de chineál éigin a úsáideann tú chun seirbhísí a fhíordheimhniú. Tabhair faoi deara go seachnaíonn sé fíordheimhniú 2 fhachtóir agus mar sin de nuair a fhíordheimhníonn tú leis. Mar sin déan cinnte iad a choinneáil sábháilte agus áit éigin nach bhfuil a bhaint amach ar bhealaí eile.
Gcéad dul síos, cad é an uirlis seo? Conas a láimhseálann sé oibríochtaí a dhéanfaimis trí Git CLI?
is féidir “gh” a mheas mar fhoinse oscailte (Cód Foinse) cumhdaitheoir ag baint úsáide as Git CLI féin agus GitHub APIs chun rudaí a dhéanamh. Go deimhin, is féidir leat fiú paraiméadair a chur ar aghaidh chuig na horduithe Git a úsáideann sé! Rachaidh mé isteach orthu sin níos déanaí.
Suiteáil agus bunú
Coinnigh i gcuimhne go mbeidh mé ag dul tríd an tsuiteáil ag baint úsáide as Termux. Ach ba cheart go mbeadh an nós imeachta beagnach mar a chéile agus a d'fhéadfadh a bheith agat ar distro bunaithe ar Debian - tá sé ag Ubuntu ar a stór oifigiúil mar shampla. Maidir le Windows, bhuel, tá CygWin nó WSL de dhíth ort is dócha. ¯\_(ツ)_/¯
# Déanaimis an uirlis a shuiteáil ar dtús. Suiteáil Git freisin mar is inneall # do gh. $pkg install git gh -y # Ansin roimh gach rud, caithfimid fíordheimhniú a dhéanamh. Sábhálfaidh sé seo # eochair API nua ar bhunachar sonraí na huirlise mar sin ní bheidh ort # a fhíordheimhniú arís. Má tá GITHUB_TOKEN socraithe agat cheana féin, ní oibreoidh sé seo mar sin díshocraithe # é ar dtús. :) $gh auth logáil isteach
Anois, sula leanaimid ar aghaidh anseo, ní mór dom roinnt rudaí a chur in iúl.
- Gcéad dul síos, ná roghnaigh “GitHub Enterprise Server” mura bhfuil GitHub féin-óstáilte de chineál éigin agat.
- Sa dara háit, bain úsáid as SSH in ionad HTTPS má tá d’eochair phoiblí curtha le do chuntas GitHub agat. Ar eagla go gcaillfidh tú an eochair API, ar a laghad ní chaillfidh tú d’eochair SSH agus mar sin d’fhéadfadh sé a bheith ina mhodh cúltais maith freisin.
- Ar an tríú dul síos, roghnaigh logáil isteach le brabhsálaí ach amháin mura bhfuil eochair API agat! I ndáiríre, ní bheadh aon chiall leis eochair eile a bheith agat agus ceann agat cheana féin.
Nuair a bheidh tú réidh chun rudaí a shocrú, inseoimid do Git CLI faoi.
$gh auth thus-git
Déanfaidh sé seo na cumraíochtaí Git CLI riachtanacha ar eagla na heagla go dtéann do reflexes isteach agus go mbainfidh tú úsáid as Git in ionad GH.
Roinnt orduithe bunúsacha
Anois go bhfuil GH socraithe agat, lig dom roinnt orduithe bunúsacha a mhúineadh duit ar bhonn scéil.
Ar an gcéad dul síos, déanaimis a rá gur mhaith leat iarratas tarraingt a chruthú chuig mo repo manifests áitiúil. Ba mhaith leat a forc ar dtús.
$gh forc repo fuinneogz414/platform_manifest ! windowz414/platform_manifest ann cheana ? Ar mhaith leat an forc a chlónáil? Sea Clónáil go 'platform_manifest'... cianda: Rudaí á n-áireamh: 136, déanta. iargúlta: Rudaí a chomhaireamh: 100% (136/136), déanta. iargúlta: Comhbhrúite rudaí: 100% (81/81), déanta. iargúlta: Iomlán 136 (delta 46), athúsáidte 89 (delta 12), paca-athúsáidte 0 Rudaí glactha: 100% (136/136), 30.70 KiB | 166.00 KiB/s, déanta. Deilt a réiteach: 100% (46/46), déanta. Nuashonrú in aghaidh srutha Ó github.com:windowz414/platform_manifest * [brainse nua] amyrom/rosie -> in aghaidh an tsrutha/amyrom/rosie * [brainse nua] aosp-eleven -> in aghaidh srutha/aosp-eleven * [brainse nua] aosp-deich -> in aghaidh srutha/aosp-deich * [brainse nua] saighead-11.0 -> in aghaidh srutha/arrow-11.0 * [brainse nua] cm-14.1 -> in aghaidh srutha/cm-14.1 * [brainse nua] dot11 -> in aghaidh srutha/dot11 * [brainse nua ] e/os/v1-nougat -> in aghaidh an tsrutha/e/os/v1-nougat * [brainse nua] sreabhach-11 -> in aghaidh an tsrutha/sreabhach-11 * [brainse nua] fox_7.1 -> in aghaidh srutha/sionnach_7.1 * [brainse nua] hentai-rika -> in aghaidh srutha/hentai-rika * [brainse nua] ian-pie -> in aghaidh srutha/ion-pie * [brainse nua] lineage-15.1 -> in aghaidh srutha/lineage-15.1 * [brainse nua] lineage -17.1 -> in aghaidh srutha/lineage-17.1 * [brainse nua] lineage-18.1 -> in aghaidh srutha/lineage-18.1 * [brainse nua] lineage-18.1_teos -> in aghaidh srutha/lineage-18.1_teos * [brainse nua] lineage-19.0 - > in aghaidh srutha/lineage-19.0 * [brainse nua] príomh -> in aghaidh srutha/príomhlíonra * [brainse nua] mkn-mr1 -> in aghaidh srutha/mkn-mr1 * [brainse nua] revengeos-r11.0 -> in aghaidh srutha/revengeos-r11.0. 1 * [brainse nua] stellar-S1 -> in aghaidh srutha/réaltach-S11 * [brainse nua] teos-n -> in aghaidh srutha/teos-n * [brainse nua] weebprojekt-11 -> in aghaidh srutha/weebprojekt-XNUMX ✓ Forc clónáilte
Ansin abair go bhfuil eagraíocht ar leith agat le haghaidh do thurgnaimh ar a dtugtar “wz414-labs”, nach ndearna tú forc ar do phróifíl phearsanta go fóill agus gur mhaith leat a chlónáil ansin agus iarratas tarraingt a oscailt ansin ina ionad. Ba mhaith leat freisin an brainse “cm-14.1” a chlónáil ionas nach mbeidh ort git-checkout a dhéanamh leis arís.
$gh repo forc windowz414/platform_manifest --org="wz414-labs" -- --branch="cm-14.1" ✓ Cruthaithe forc wz414-labs/platform_manifest ? Ar mhaith leat an forc a chlónáil? Sea Clónáil go 'platform_manifest'... cianda: Rudaí á n-áireamh: 136, déanta. iargúlta: Rudaí a chomhaireamh: 100% (136/136), déanta. iargúlta: Comhbhrúite rudaí: 100% (81/81), déanta. iargúlta: Iomlán 136 (delta 46), athúsáidte 89 (delta 12), paca-athúsáidte 0 Rudaí glactha: 100% (136/136), 30.70 KiB | 120.00 KiB/s, déanta. Deilt a réiteach: 100% (46/46), déanta. Nuashonrú in aghaidh srutha Ó github.com:windowz414/platform_manifest * [brainse nua] amyrom/rosie -> in aghaidh an tsrutha/amyrom/rosie * [brainse nua] aosp-eleven -> in aghaidh srutha/aosp-eleven * [brainse nua] aosp-deich -> in aghaidh srutha/aosp-deich * [brainse nua] saighead-11.0 -> in aghaidh srutha/arrow-11.0 * [brainse nua] cm-14.1 -> in aghaidh srutha/cm-14.1 * [brainse nua] dot11 -> in aghaidh srutha/dot11 * [brainse nua ] e/os/v1-nougat -> in aghaidh an tsrutha/e/os/v1-nougat * [brainse nua] sreabhach-11 -> in aghaidh an tsrutha/sreabhach-11 * [brainse nua] fox_7.1 -> in aghaidh srutha/sionnach_7.1 * [brainse nua] hentai-rika -> in aghaidh srutha/hentai-rika * [brainse nua] ian-pie -> in aghaidh srutha/ion-pie * [brainse nua] lineage-15.1 -> in aghaidh srutha/lineage-15.1 * [brainse nua] lineage -17.1 -> in aghaidh srutha/lineage-17.1 * [brainse nua] lineage-18.1 -> in aghaidh srutha/lineage-18.1 * [brainse nua] lineage-18.1_teos -> in aghaidh srutha/lineage-18.1_teos * [brainse nua] lineage-19.0 - > in aghaidh srutha/lineage-19.0 * [brainse nua] príomh -> in aghaidh srutha/príomhlíonra * [brainse nua] mkn-mr1 -> in aghaidh srutha/mkn-mr1 * [brainse nua] revengeos-r11.0 -> in aghaidh srutha/revengeos-r11.0. 1 * [brainse nua] stellar-S1 -> in aghaidh srutha/réaltach-S11 * [brainse nua] teos-n -> in aghaidh srutha/teos-n * [brainse nua] weebprojekt-11 -> in aghaidh srutha/weebprojekt-XNUMX ✓ Forc clónáilte
Feiceann tú nár úsáid mé “-b cm-14.1” agus rinne mé an argóint fhada ina ionad sin. Ó dháta an ailt seo, 16 Feabhra, 2022, tá fabht ag GH nach dtugann sé argóintí gearra chuig Git CLI i gceart agus mar sin ní mór é a dhéanamh mar argóintí fada ina ionad.
Nuair a bheidh sé sin déanta, chuir tú isteach san fhillteán go rialta, rinne tú do chuid athruithe, rinne tú gealltanas ansin bhrúigh tú é, agus tá tú réidh le hiarratas tarraingthe a dhéanamh. Chun seo, tá gach ní mór duit simplí
$gh pr create --branch="cm-14.1" Ag cruthú iarratas tarraingt do wz414-labs: cm-14.1 isteach cm-14.1 in windowz414/platform_manifest ? Teideal teos: Athrú go Git-Polycule ? Corp ? Cad atá romhainn? Cuir isteach https://github.com/windowz414/platform_manifest/pull/1
Mura gcuireann tú “–branch=cm-14.1” i gceangal leis, bheadh PR á chruthú agat i dtreo “príomhbhrainse”, rud ar ndóigh a bheidh ina chúis le fadhbanna nuair nach láimhseáiltear i gceart é.
Agus anois, ní mór dom an PR seo a chumasc, ceart? Mar sin déanaim clónáil ar an repo ar dtús, seiceáil amach chuig an mbrainse sannta, agus liostáil mé PR ar dtús.
# Clónáil ar dtús. Clón $ git https://github.com/windowz414/platform_manifest Clónáil go 'platform_manifest'... cianda: Rudaí á n-áireamh: 136, déanta. iargúlta: Rudaí a chomhaireamh: 100% (136/136), déanta. iargúlta: Comhbhrúite rudaí: 100% (81/81), déanta. iargúlta: Iomlán 136 (delta 46), athúsáidte 89 (delta 12), paca-athúsáidte 0 Rudaí glactha: 100% (136/136), 30.70 KiB | 137.00 KiB/s, déanta. Deilt a réiteach: 100% (46/46), déanta. # Ansin seiceáil amach go dtí an brainse. $ git Seiceáil amach cm-14.1 brainse 'cm-14.1' socraithe chun 'tionscnamh/cm-14.1' a rianú. Athraíodh go brainse nua 'cm-14.1' # Agus anois liostú PR. $gh pr list Ag taispeáint 1 de 1 iarratas tarraingte oscailte in windowz414/platform_manifest #1 teos: Athrú go Git-Polycule wz414-labs:cm-14.1
Anois go bhfeicimid go bhfuil PR ann chun cianrialtán a athrú go “Git-Polycule”, feicfimid cad atá athraithe leis.
$gh pr diff 1 difr --git a/teos.xml b/teos.xml innéacs b145fc0..3aadeb6 100644 --- a/teos.xml +++ b/teos.xml @@ -2,7 +2,7, 414 @@
Dealraíonn sé tuar dóchais inti! Am chun cumasc!
$gh pr chumasc 1 ? Cén modh cumaisc ar mhaith leat a úsáid? Rebase agus chumasadh ? Cad atá romhainn? Cuir isteach ✓ Iarratas tarraingthe athbhunaithe agus cumaiscthe #1 (teos: Athrú go Git-Polycule)
Anois gur chumasc mé é, is féidir leat do fhorc a scriosadh.
$ gh repo scrios --confirm wz414-labs/platform_manifest ✓ Stór scriosta wz414-labs/platform_manifest
Feiceann tú gur scriosadh an repo díreach suas gan aon iarratas deimhnithe mar gur rith mé an paraiméadar “–confirm” ansin. Mura n-éireodh leat é, gheobhaidh tú é seo:
$gh repo scrios windowz414/systemd ? Clóscríobh windowz414/systemd chun scriosadh a dheimhniú:
Agus bheadh ort an t-ainm repo iomlán a chlóscríobh. Cur amú ama…
Achoimre
Go simplí, is éard atá i `gh` ná cumhdach Git CLI/Curl atá simplithe go leor a aontaíonn oibríochtaí simplí Git agus rudaí GitHub API faoin díon céanna. Conas a úsáideann tú é? An bhfuil cuma tuar dóchais ort mar a dhéanann sé domsa? Ag súil le cloisteáil uait!