GitHub e faigofie ona faʻaogaina meafaigaluega laina laina: "gh"!

Afai na e faʻaaogaina GitHub ma e te manaʻo i le laina faʻatonu e pei o aʻu e fai mea uma e aunoa ma ni faʻalavelave ile GUI, atonu na e matauina le auala na amata ai e GitHub ona faʻaogaina a latou mea faigaluega e le o se mea fou e taʻua o le "gh". Na ou filifili e tuu atu i ai, aua e foliga mai e manuia. Ma sa ou fiafia lava i ai - O lea na ou manaʻo ai e fai se tala e uiga i ai!

Ae tatou te leʻi amataina, e tatau ona ou faʻamatalaina nisi o faaupuga o le a ou faʻaaogaina i lenei tusiga.

“GH” o lona uiga o le “GitHub”. O le mea lea e mafua mai ai le igoa o le meafaigaluega, o lea e le mafai ona fenumiai ma Git lava ia. Ina ia faʻamatalaina le mea e fai i se tulaga lautele, e mafai ona e fatuina, tui, tape, suʻesuʻe repos; faia ni talosaga toso; ma le tele o isi. I le tulaga e le mafai ona e mauaina se faʻaaliga ae e te le manaʻo foi e alu ese mai le laina, e maua ai foi se suʻesuʻega faʻavae mo oe e suʻe itulau i GitHub.

“CLI” o lona uiga o le “Cpoloai Lleai Interface”. O lena Terminal (poʻo le Windows, Command Prompt) o se tasi oi latou. Afai ei ai se "CLI" faʻapipiʻi i tafatafa o se igoa o le app ("Git CLI" mo lenei tusiga), o lona uiga o le app e alu naʻo le laina. Ma "Git CLI" i lenei tulaga, lelei, o le Git tatou te iloa. E pei o le poloaiga tatou te faia commits po rebases i.

GUI o loʻo faʻatusa mo "Gfaʻaupuga Uia Interface” ma o le atinaʻe lea matou te "faʻatautaia" i luga. E sili atu le fai mai, o se siosiomaga o le komepiuta i le lautele o se GUI.

O le "API key" o se ituaiga o se manoa faalilolilo / faila e te faʻaogaina e faʻamaonia ai auaunaga. Faʻaeteete e faʻafefea le faʻamaoniga 2 faʻamaonia ma isi mea pe a e faʻamaonia i ai. O lea ia mautinoa e teu malu ma i se mea e le mafai ona maua e se isi auala.

Muamua, o le a lenei meafaigaluega? E faʻafefea ona faʻatautaia galuega matou te faia e ala i le Git CLI?

"gh" e mafai ona manatu o se punaoa tatala (puna Tulafono) afifi e faʻaaoga Git CLI lava ia ma GitHub API e faʻataunuʻu ai mea. O le mea moni, e mafai foʻi ona e pasi faʻasologa i le Git poloaiga e faʻaaogaina! O le a ou alu i na mea mulimuli ane.

Faʻapipiʻi ma faʻatulagaina

Ia manatua o le a ou alu i le faʻapipiʻiina e faʻaaoga ai termux. Ae o le faʻatinoga e tatau ona tutusa lelei ma le mea e mafai ona e faia i luga o le Debian-based distro - Ubuntu o loʻo i luga o latou ofisa aloaia mo se faʻataʻitaʻiga. Mo Windows, lelei, e te manaʻomia CygWin poʻo WSL ou te manatu. ¯\_(ツ)_/¯

# Se'i fa'apipi'i muamua le meafaigaluega. Faʻapipiʻi foʻi le Git ona o le pito i tua # mo gh. $ pkg faʻapipiʻi git gh -y # Aʻo leʻi oʻo i mea uma, e tatau ona tatou faʻamaonia. Ole mea lea ole a fa'asaoina ai se # API fou ile fa'amaumauga ole meafaigaluega ina ia e le toe mana'omia le toe fa'amaonia #. Afai ua uma ona e setiina GITHUB_TOKEN, o le a le aoga le mea lea e aveese muamua # ai. :) $ gh auth login

Ia, ae tatou te le'i faaauau atu iinei, e tatau ona ou faailoa atu ni nai mea.

  • muamua, aua le filifilia "GitHub Enterprise Server" pe afai e leai sau ituaiga GitHub e talimalo ai oe lava ia.
  • Lona lua, fa'aoga le SSH nai lo le HTTPS pe afai e fa'aopoopo lau ki fa'alaua'itele i lau tala GitHub. I le tulaga e te leiloa le ki API, o le a le leiloa lau ki SSH ina ia mafai foi ona avea ma se auala lelei i tua.
  • Lona tolu, filifili le saini i totonu ma le browser pe afai e leai sau ki API i lou lima! O le mea moni, e le talafeagai le i ai o se isi ki a'o iai sau ki.

A maeʻa ona e faʻatulagaina mea, taʻu atu ia Git CLI e uiga i ai.

$ gh auth setup-git

Ole mea lea ole a fa'aogaina ai le Git CLI fetuutuunai pe a na'o au fa'ata'ita'iga e oso i totonu ma fa'aoga ai le Git nai lo le GH.

O nisi o poloaiga faavae

O lea la ua e setiina le GH, se'i ou a'oa'o atu ia te oe ni tulafono fa'avae i se tala fa'avae.

Muamua lava, seʻi tatou fai atu e te manaʻo e fai se talosaga toso i laʻu faʻaaliga faʻapitonuʻu repo. E te mana'o e tui muamua.

$ gh repo fork windowz414/platform_manifest! windowz414/platform_manifest ua uma ona iai? E te mana'o e fa'a-clone le tui? Ioe Cloning i totonu o le 'platform_manifest'... mamao: Fa'asologa o mea: 136, faia. mamao: Faitau mea: 100% (136/136), faia. mamao: Compressing mea faitino: 100% (81/81), faia. mamao: Aofaʻi 136 (delta 46), toe faʻaaogaina 89 (delta 12), faʻapipiʻi-toe faʻaaogaina 0 Mauaina mea: 100% (136/136), 30.70 KiB | 166.00 KiB/s, mae'a. Foia deltas: 100% (46/46), mae'a. Fa'afou i luga mai le github.com:windowz414/platform_manifest * [paranesi fou] amyrom/rosie -> upstream/amyrom/rosie * [paranesi fou] aosp-sefulutasi -> upstream/aosp-eleven * [paranesi fou] aosp-ten -> upstream/aosp-ten * [mala fou] arrow-11.0 -> upstream/arrow-11.0 * [mala fou] cm-14.1 -> upstream/cm-14.1 * [mala fou] dot11 -> upstream/dot11 * [ lala fou ] e/os/v1-nougat -> upstream/e/os/v1-nougat * [mala fou] vai-11 -> upstream/fluid-11 * [new branch] fox_7.1 -> upstream/fox_7.1 * [paranesi fou] hentai-rika -> i luga/hentai-rika * [paranesi fou] pai ion -> pito i luga/ion-pai * [laina fou] gafa-15.1 -> i luga/laina-15.1 * [lanesa fou] gafa -17.1 -> upstream/lineage-17.1 * [new branch] lineage-18.1 -> upstream/lineage-18.1 * [new branch] lineage-18.1_teos -> upstream/lineage-18.1_teos * [new branch] lineage-19.0 - > upstream/lineage-19.0 * [new branch] main -> upstream/main * [new branch] mkn-mr1 -> upstream/mkn-mr1 * [new branch] revengeos-r11.0 -> upstream/revengeos-r11.0. 1 * [lanesa fou] stellar-S1 -> i luga/stellar-S11 * [lagona fou] teos-n -> i luga/teos-n * [lagona fou] weebprojekt-11 -> luga/weebprojekt-XNUMX ✓ tui tui

Fa'apea e iai sau fa'alapotopotoga tu'ufa'atasi mo au fa'ata'ita'iga e ta'ua o le "wz414-labs", e te le'i fa'aogaina lau fa'amatalaga patino ma e mana'o e fa'apipi'i iina ona tatala loa lea o le toso talosaga i ai. E te manaʻo foʻi e faʻapipiʻi le lala "cm-14.1" ina ia e le manaʻomia le toe faia o le git-checkout i ai.

$ gh repo fork windowz414/platform_manifest --org="wz414-labs" -- --branch="cm-14.1" ✓ Fausia tui wz414-labs/platform_manifest ? E te mana'o e fa'aclone le tui? Ioe Cloning i totonu o le 'platform_manifest'... mamao: Fa'asologa o mea: 136, faia. mamao: Faitau mea: 100% (136/136), faia. mamao: Compressing mea faitino: 100% (81/81), faia. mamao: Aofaʻi 136 (delta 46), toe faʻaaogaina 89 (delta 12), faʻapipiʻi-toe faʻaaogaina 0 Mauaina mea: 100% (136/136), 30.70 KiB | 120.00 KiB/s, mae'a. Foia deltas: 100% (46/46), mae'a. Fa'afou i luga mai le github.com:windowz414/platform_manifest * [paranesi fou] amyrom/rosie -> upstream/amyrom/rosie * [paranesi fou] aosp-sefulutasi -> upstream/aosp-eleven * [paranesi fou] aosp-ten -> upstream/aosp-ten * [mala fou] arrow-11.0 -> upstream/arrow-11.0 * [mala fou] cm-14.1 -> upstream/cm-14.1 * [mala fou] dot11 -> upstream/dot11 * [ lala fou ] e/os/v1-nougat -> upstream/e/os/v1-nougat * [mala fou] vai-11 -> upstream/fluid-11 * [new branch] fox_7.1 -> upstream/fox_7.1 * [paranesi fou] hentai-rika -> i luga/hentai-rika * [paranesi fou] pai ion -> pito i luga/ion-pai * [laina fou] gafa-15.1 -> i luga/laina-15.1 * [lanesa fou] gafa -17.1 -> upstream/lineage-17.1 * [new branch] lineage-18.1 -> upstream/lineage-18.1 * [new branch] lineage-18.1_teos -> upstream/lineage-18.1_teos * [new branch] lineage-19.0 - > upstream/lineage-19.0 * [new branch] main -> upstream/main * [new branch] mkn-mr1 -> upstream/mkn-mr1 * [new branch] revengeos-r11.0 -> upstream/revengeos-r11.0. 1 * [lanesa fou] stellar-S1 -> i luga/stellar-S11 * [lagona fou] teos-n -> i luga/teos-n * [lagona fou] weebprojekt-11 -> luga/weebprojekt-XNUMX ✓ tui tui

E te va'ai ou te le'i fa'aogaina le "-b cm-14.1" ae fai le finauga umi. E oʻo mai i le aso o lenei tusiga, Fepuari 16, 2022, GH o loʻo i ai se pusa e le tuʻuina atu ai ni finauga pupuu i le Git CLI saʻo ma o lea e manaʻomia ai le faia o finauga umi nai lo.

A mae'a lena, e masani ona e ulufale i totonu o le faila, fai au suiga, fa'amaoni ona tulei lea, ma ua sauni e fai se talosaga toso. Mo lenei mea, pau lava le mea e te manaʻomia e faigofie

$ gh pr fatu --branch ="cm-14.1" Fausia se talosaga toso mo wz414-labs:cm-14.1 i le cm-14.1 i le windowz414/platform_manifest ? Title teos: Suiga ile Git-Polycule ? Tino ? O le a le isi mea? Tuuina atu https://github.com/windowz414/platform_manifest/pull/1

Afai e te le fa'aopoopoina le “–branch=cm-14.1”, o le a e fatuina le PR i le lala “autu”, lea e tupu ai fa'afitauli pe a le sa'o le taulimaina.

Ma o lenei, e tatau ona ou tuʻufaʻatasia lenei PR, saʻo? O lea ou te faʻapipiʻi muamua le repo, siaki i le lala ua tofia, ma lisi muamua PRs.

# Cloning muamua. $ git clone https://github.com/windowz414/platform_manifest Cloning i totonu o le 'platform_manifest'... mamao: Fa'asologa o mea: 136, faia. mamao: Faitau mea: 100% (136/136), faia. mamao: Compressing mea faitino: 100% (81/81), faia. mamao: Aofaʻi 136 (delta 46), toe faʻaaogaina 89 (delta 12), faʻapipiʻi-toe faʻaaogaina 0 Mauaina mea: 100% (136/136), 30.70 KiB | 137.00 KiB/s, mae'a. Foia deltas: 100% (46/46), mae'a. # Ona siaki lea i le lala. $ git checkout cm-14.1 lala 'cm-14.1' fa'atulaga e siaki ai le 'auga'iga/cm-14.1'. Su'i i se lala fou 'cm-14.1' # Ma o lea ua lisiina PRs. $ gh pr lisi Fa'aali le 1 o le 1 tatala talosaga toso i le windowz414/platform_manifest #1 teos: Suia i le Git-Polycule wz414-labs:cm-14.1

I le taimi nei ua tatou vaʻai o loʻo i ai se PR e sui mamao i le "Git-Polycule", seʻi o tatou vaʻai pe o le a le mea ua suia ai.

$ 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 @@ 

E foliga mai e folafola! Taimi e tu'ufa'atasia!

$ gh pr merge 1 ? O le a le auala tu'ufa'atasi e te mana'o e fa'aoga? Toe fa'avae ma tu'u fa'atasi ? O le a le isi mea? Tuuina atu ✓ Toe fa'avae ma tu'ufa'atasia talosaga toso #1 (teos: Suiga ile Git-Polycule)

O lea ua ou tuufaatasia, e mafai ona e tapeina lau tui.

$ gh repo tape --fa'amaonia wz414-labs/platform_manifest ✓ Ave'esea fale teu oloa wz414-labs/platform_manifest

E te vaʻai saʻo na tapeina le repo e aunoa ma se faʻamaoniga talosaga aua na ou pasia le "-faʻamaonia" parakalafa iina. Afai e te le pasi, e te mauaina lenei:

$ gh repo tape le windowz414/systemd ? Tusa windowz414/systemd e faʻamaonia le tapeina:

Ma e te manaʻomia le taina o le igoa repo atoa. Ma'imau taimi…

aotelega

I se faaupuga faigofie, `gh` o se faʻapipiʻi Git CLI / Curl faʻapipiʻi faʻapipiʻi faʻatasi ai galuega faigofie Git ma mea GitHub API i lalo o le taualuga e tasi. E fa'apefea ona e fa'aaogaina? Pe foliga folafola atu ia te oe e pei ona faia ia te au? Fa'atalitali e fa'alogo mai ia te oe!

Faatatau Mataupu Faavae o