GitHub የትእዛዝ መስመር መሳሪያን ለመጠቀም ቀላል ነው፡ “gh”!

GitHub እየተጠቀሙ ከሆነ እና እንደ እኔ የትእዛዝ መስመሩን በ GUI ላይ ያለ ምንም ውስብስቦች ለማከናወን ከመረጡ፣ GitHub “gh” የተባለውን አዲስ ያልሆነ መሳሪያ እንዴት መጠቀም እንደጀመረ አስተውለህ ይሆናል። ለመምታት ወሰንኩኝ, ምክንያቱም ከሁሉም በኋላ ተስፋ ሰጪ መስሎ ነበር. እና እኔ በግሌ በጣም ወድጄዋለሁ - ስለዚህ ስለ እሱ ጽሑፍ ለመስራት ፈለግሁ!

ከመጀመራችን በፊት፣ በዚህ ጽሑፍ ውስጥ የምጠቀምባቸውን በርካታ ቃላት ማብራራት አለብኝ።

"GH" ማለት "GitHub" ይህ የመሳሪያው ስም የመጣው ከዚ ነው, ስለዚህም ከ Git እራሱ ጋር መምታታት አይቻልም. በአጠቃላይ ምን እንደሚሰራ ለማብራራት, መፍጠር, ሹካ, መሰረዝ, ሪፖዎችን ማሰስ ይችላሉ; የመሳብ ጥያቄዎችን መፍጠር; እና ብዙ ተጨማሪ. ባህሪን ማግኘት ካልቻሉ ነገር ግን ተርሚናልን ለቀው መውጣት ካልፈለጉ በ GitHub ውስጥ ገጾችን ለማሰስ በጽሑፍ ላይ የተመሠረተ አሳሽ ይሰጥዎታል።

"CLI" ማለት "Cኦማንድ Line Iበይነገጽ" ያ ተርሚናል (ወይም በዊንዶውስ፣ Command Prompt) አንዱ ነው። ከመተግበሪያው ስም ቀጥሎ የተጨመረው “CLI” ካለ (ለዚህ ጽሑፍ “Git CLI”) መተግበሪያው በተርሚናል ብቻ ነው የሚሰራው ማለት ነው። እና በዚህ አውድ ውስጥ "Git CLI" እኛ የምናውቀው Git ነው። ልክ እንደ ትእዛዝ የምንሰራው ቃል ኪዳን ወይም ዳግም መሰረት ነው።

GUI የሚወክለው "Gራፊክ User Interface" እና "የምንሄድበት" በይነገጽ ነው። በተሻለ ሁኔታ የዴስክቶፕ አካባቢ በአጠቃላይ GUI ነው።

"ኤፒአይ ቁልፍ" ለአገልግሎቶች ለማረጋገጥ የምትጠቀመው ሚስጥራዊ ሕብረቁምፊ/ፋይል ነው። ስታረጋግጡ ባለ 2 ፋየር ማረጋገጫን እና የመሳሰሉትን እንደሚያልፍ ተጠንቀቅ። ስለዚህ ደህንነታቸውን እና በሌላ መንገድ በማይደረስበት ቦታ ማስቀመጥዎን ያረጋግጡ።

በመጀመሪያ ይህ መሳሪያ ምንድን ነው? በ Git CLI በኩል የምንሰራቸውን ስራዎች እንዴት ይቆጣጠራል?

“gh” እንደ ክፍት ምንጭ ተደርጎ ሊወሰድ ይችላል (ምንጭ ኮድ) ነገሮችን ለማከናወን Git CLI እራሱን እና GitHub ኤፒአይዎችን ይጠቀማል። እንዲያውም ግቤቶችን ለሚጠቀምባቸው የጂት ትዕዛዞች ማስተላለፍ ትችላለህ! ወደ እነዚያ በኋላ እገባለሁ።

መጫን እና ማዋቀር

መጫኑን ተጠቅሜ እንደማለፍ አስታውስ ተርሙክስ. ነገር ግን አሰራሩ በዴቢያን ላይ የተመሰረተ ዲስትሮ ላይ ሊኖርዎት ከሚችለው ጋር ተመሳሳይ መሆን አለበት - ኡቡንቱ ለምሳሌ በኦፊሴላዊ ማከማቻቸው ላይ አለው። ለዊንዶውስ ፣ ደህና ፣ እኔ እንደማስበው CygWin ወይም WSL ያስፈልግዎታል። __(ツ) _/ን

# መጀመሪያ መሳሪያውን እንጭነው። እንዲሁም Gitን መጫን የጀርባው # ለ gh ነው። $ pkg install git gh -y # ከዚያ ከሁሉም ነገር በፊት ማረጋገጥ አለብን። ይህ # አዲስ የኤፒአይ ቁልፍ በመሳሪያው ዳታቤዝ ላይ ያስቀምጣል። ስለዚህ # እንደገና ማረጋገጥ አያስፈልገዎትም። GITHUB_TOKENን አስቀድመው ካዘጋጁት፣ ይህ መጀመሪያ # ሳይዋቀር አይሰራም። :) $ gh auth መግቢያ

አሁን፣ እዚህ ከመቀጠላችን በፊት፣ ብዙ ነገሮችን መጠቆም አለብኝ።

  • በመጀመሪያ, “GitHub Enterprise Server”ን አይምረጡ በራስዎ የሚስተናገድ GitHub ከሌልዎት።
  • ሁለተኛ, በ GitHub መለያህ ላይ የአደባባይ ቁልፍህ ከታከልክ ከኤችቲቲፒኤስ ይልቅ ኤስኤስኤች ተጠቀም። የኤፒአይ ቁልፍ ከጠፋብህ ቢያንስ የኤስኤስኤች ቁልፍህን አታጣም ስለዚህ ጥሩ የመመለሻ ዘዴ ሊሆን ይችላል።
  • በሶስተኛ ደረጃ በአሳሽ መግባትን ይምረጡ በእጅዎ የኤፒአይ ቁልፍ ከሌለዎት ብቻ! በእውነቱ፣ አንድ ቁልፍ እያለህ ሌላ ቁልፍ መኖሩ ትርጉም አይሰጥም።

አንዴ ነገሮችን ማቀናበር ከጨረሱ በኋላ ስለሱ ለ Git CLI እንንገረው።

$ gh auth ማዋቀር-git

ይህ የእርስዎ reflexes ወደ ውስጥ ከገባ እና ከ GH ይልቅ Gitን እንድትጠቀም ቢያደርግህ አስፈላጊውን የ Git CLI ውቅረቶች ያደርጋል።

አንዳንድ መሰረታዊ ትዕዛዞች

አሁን GHን ስላዋቀሩ፣ በታሪክ መሰረት በርካታ መሰረታዊ ትእዛዞችን ላስተምርህ።

በመጀመሪያ፣ ወደ የእኔ የአካባቢ ማኒፌክቶች ሪፖ የመሳብ ጥያቄ መፍጠር ትፈልጋለህ እንበል። መጀመሪያ መንካት ትፈልጋለህ።

$ gh repo fork windowz414/platform_manifest! windowz414/platform_manifest አስቀድሞ አለ? ሹካውን መዝጋት ይፈልጋሉ? አዎ ክሎኒንግ ወደ 'platform_manifest'... ርቀት፡ ዕቃዎችን መቁጠር፡ 136፣ ተከናውኗል። የርቀት፡ የመቁጠር ዕቃዎች፡ 100% (136/136)፣ ተከናውኗል። የርቀት፡ መጭመቂያ ዕቃዎች፡ 100% (81/81)፣ ተከናውኗል። የርቀት፡ ጠቅላላ 136 (ዴልታ 46)፣ እንደገና ጥቅም ላይ የዋለ 89 (ዴልታ 12)፣ ጥቅል-እንደገና ጥቅም ላይ የዋለ 0 ዕቃዎችን መቀበያ፡ 100% (136/136)፣ 30.70 ኪቢ | 166.00 ኪቢ/ሰ፣ ተከናውኗል። ዴልታዎችን መፍታት፡ 100% (46/46)፣ ተከናውኗል። ወደላይ በማዘመን ላይ ከ github.com:windowz414/platform_manifest * [አዲስ ቅርንጫፍ] amyrom/rosie -> ወደላይ/አሚሮም/ሮዚ * [አዲስ ቅርንጫፍ] aosp-አሥራ አንድ -> ወደላይ/አኦስፕ-አሥራ አንድ * [አዲስ ቅርንጫፍ] aosp-ten -> upstream/aosp-ten * [አዲስ ቅርንጫፍ] ቀስት-11.0 -> ወደላይ / ቀስት-11.0 * [አዲስ ቅርንጫፍ] ሴሜ-14.1 -> ወደላይ / ሴሜ-14.1 * [አዲስ ቅርንጫፍ] dot11 -> ወደላይ / ነጥብ 11 * [አዲስ ቅርንጫፍ] ] e/os/v1-nougat -> ወደላይ/e/os/v1-nougat * [አዲስ ቅርንጫፍ] ፈሳሽ-11 -> ወደላይ/ፈሳሽ-11 * [አዲስ ቅርንጫፍ] ፎክስ_7.1 -> ወደላይ/ቀበሮ_7.1 * [አዲስ ቅርንጫፍ] ሄንታይ-ሪካ -> ወደላይ/ሄንታይ-ሪካ * [አዲስ ቅርንጫፍ] ion-pie -> ወደ ላይ/ion-pie * [አዲስ ቅርንጫፍ] የዘር ሐረግ-15.1 -> የላይኛው/ የዘር ሐረግ-15.1 * [አዲስ ቅርንጫፍ] የዘር ሐረግ -17.1 -> ወደላይ / የዘር ሐረግ-17.1 * [አዲስ ቅርንጫፍ] የዘር ሐረግ-18.1 -> ወደላይ / የዘር ሐረግ-18.1 * [አዲስ ቅርንጫፍ] የዘር ሐረግ-18.1_teos -> ወደላይ / የዘር ሐረግ-18.1_teos * [አዲስ ቅርንጫፍ] ዘር-19.0 - > ወደላይ / የዘር-19.0 * [አዲስ ቅርንጫፍ] ዋና -> ወደላይ / ዋና * [አዲስ ቅርንጫፍ] mkn-mr1 -> ወደላይ / mkn-mr1 * [አዲስ ቅርንጫፍ] revengeos-r11.0 -> ወደላይ / revengeos-r11.0. 1 * [አዲስ ቅርንጫፍ] stellar-S1 -> ወደላይ/ከዋክብት-S11 * [አዲስ ቅርንጫፍ] teos-n -> ወደላይ/teos-n * [አዲስ ቅርንጫፍ] weebprojekt-11 -> ወደላይ/weebprojekt-XNUMX ✓ የተከለለ ሹካ

ከዚያ ለሙከራዎ የተለየ ድርጅት አለህ እንበል “wz414-labs”፣ በግል መገለጫህ ላይ እስካሁን ሹካ እንዳልሆንክ እና እዚያ ማያያዝ እንደምትፈልግ ከዚያ በምትኩ የመሳብ ጥያቄን ክፈት። እንዲሁም የ “cm-14.1” ቅርንጫፉን መዝጋት ይፈልጋሉ ስለዚህ እንደገና git-checkout ማድረግ አያስፈልግዎትም።

$ gh repo fork windowz414/platform_manifest --org ="wz414-labs" -- --ቅርንጫፍ ="ሴሜ-14.1" ✓ ሹካ wz414-ላብስ/መድረክ_ማኒፌስት ተፈጠረ? ሹካውን መዝጋት ይፈልጋሉ? አዎ ክሎኒንግ ወደ 'platform_manifest'... ርቀት፡ ዕቃዎችን መቁጠር፡ 136፣ ተከናውኗል። የርቀት፡ የመቁጠር ዕቃዎች፡ 100% (136/136)፣ ተከናውኗል። የርቀት፡ መጭመቂያ ዕቃዎች፡ 100% (81/81)፣ ተከናውኗል። የርቀት፡ ጠቅላላ 136 (ዴልታ 46)፣ እንደገና ጥቅም ላይ የዋለ 89 (ዴልታ 12)፣ ጥቅል-እንደገና ጥቅም ላይ የዋለ 0 ዕቃዎችን መቀበያ፡ 100% (136/136)፣ 30.70 ኪቢ | 120.00 ኪቢ/ሰ፣ ተከናውኗል። ዴልታዎችን መፍታት፡ 100% (46/46)፣ ተከናውኗል። ወደላይ በማዘመን ላይ ከ github.com:windowz414/platform_manifest * [አዲስ ቅርንጫፍ] amyrom/rosie -> ወደላይ/አሚሮም/ሮዚ * [አዲስ ቅርንጫፍ] aosp-አሥራ አንድ -> ወደላይ/አኦስፕ-አሥራ አንድ * [አዲስ ቅርንጫፍ] aosp-ten -> upstream/aosp-ten * [አዲስ ቅርንጫፍ] ቀስት-11.0 -> ወደላይ / ቀስት-11.0 * [አዲስ ቅርንጫፍ] ሴሜ-14.1 -> ወደላይ / ሴሜ-14.1 * [አዲስ ቅርንጫፍ] dot11 -> ወደላይ / ነጥብ 11 * [አዲስ ቅርንጫፍ] ] e/os/v1-nougat -> ወደላይ/e/os/v1-nougat * [አዲስ ቅርንጫፍ] ፈሳሽ-11 -> ወደላይ/ፈሳሽ-11 * [አዲስ ቅርንጫፍ] ፎክስ_7.1 -> ወደላይ/ቀበሮ_7.1 * [አዲስ ቅርንጫፍ] ሄንታይ-ሪካ -> ወደላይ/ሄንታይ-ሪካ * [አዲስ ቅርንጫፍ] ion-pie -> ወደ ላይ/ion-pie * [አዲስ ቅርንጫፍ] የዘር ሐረግ-15.1 -> የላይኛው/ የዘር ሐረግ-15.1 * [አዲስ ቅርንጫፍ] የዘር ሐረግ -17.1 -> ወደላይ / የዘር ሐረግ-17.1 * [አዲስ ቅርንጫፍ] የዘር ሐረግ-18.1 -> ወደላይ / የዘር ሐረግ-18.1 * [አዲስ ቅርንጫፍ] የዘር ሐረግ-18.1_teos -> ወደላይ / የዘር ሐረግ-18.1_teos * [አዲስ ቅርንጫፍ] ዘር-19.0 - > ወደላይ / የዘር-19.0 * [አዲስ ቅርንጫፍ] ዋና -> ወደላይ / ዋና * [አዲስ ቅርንጫፍ] mkn-mr1 -> ወደላይ / mkn-mr1 * [አዲስ ቅርንጫፍ] revengeos-r11.0 -> ወደላይ / revengeos-r11.0. 1 * [አዲስ ቅርንጫፍ] stellar-S1 -> ወደላይ/ከዋክብት-S11 * [አዲስ ቅርንጫፍ] teos-n -> ወደላይ/teos-n * [አዲስ ቅርንጫፍ] weebprojekt-11 -> ወደላይ/weebprojekt-XNUMX ✓ የተከለለ ሹካ

“-b cm-14.1”ን እንዳልጠቀምኩ እና በምትኩ ረጅሙን ክርክር እንዳደረግሁ አየህ። በዚህ ጽሑፍ ቀን እ.ኤ.አ. የካቲት 16፣ 2022፣ GH አጫጭር ክርክሮችን ለጂት CLI በትክክል የማያስተላልፍ ስህተት አለበት እና በምትኩ እንደ ረጅም ክርክሮች መደረግ አለበት።

ያ ከተጠናቀቀ በኋላ በመደበኛነት አቃፊውን አስገብተሃል፣ ለውጥህን አደረግህ፣ ቁርጠኝነህ ከዛ ገፋህ፣ እና የመሳብ ጥያቄን ለማድረግ ተዘጋጅተሃል። ለእዚህ, የሚያስፈልግዎ ነገር ቀላል ነው

$ gh pr create --branch="cm-14.1" ለwz414-labs፡cm-14.1 ወደ ሴሜ-14.1 በwindowz414/platform_manifest የመሳብ ጥያቄ መፍጠር? Title teos፡ ወደ Git-Polycule ይቀየር? አካል ? ቀጥሎ ምን አለ? https://github.com/windowz414/platform_manifest/pull/1 አስረክብ

“–ቅርንጫፍ=cm-14.1” ካላከሉ፣ PR ወደ “ዋና” ቅርንጫፍ እየፈጠሩ ነው፣ ይህም በትክክል ካልተያዘ ችግር ይፈጥራል።

እና አሁን፣ ይህን PR ማዋሃድ አለብኝ፣ አይደል? ስለዚህ መጀመሪያ ሪፖውን ዘጋሁት፣ የተመደበውን ቅርንጫፍ ቼክ አውጥቼ፣ እና መጀመሪያ የህዝብ ግንኙነትን እዘረዝራለሁ።

# መጀመሪያ ክሎኒንግ። $ git clone https://github.com/windowz414/platform_manifest Cloning ወደ 'platform_manifest'... የርቀት፡ ዕቃዎችን መቁጠር፡ 136፣ ተከናውኗል። የርቀት፡ የመቁጠር ዕቃዎች፡ 100% (136/136)፣ ተከናውኗል። የርቀት፡ መጭመቂያ ዕቃዎች፡ 100% (81/81)፣ ተከናውኗል። የርቀት፡ ጠቅላላ 136 (ዴልታ 46)፣ እንደገና ጥቅም ላይ የዋለ 89 (ዴልታ 12)፣ ጥቅል-እንደገና ጥቅም ላይ የዋለ 0 ዕቃዎችን መቀበያ፡ 100% (136/136)፣ 30.70 ኪቢ | 137.00 ኪቢ/ሰ፣ ተከናውኗል። ዴልታዎችን መፍታት፡ 100% (46/46)፣ ተከናውኗል። # ከዚያ ወደ ቅርንጫፉ በመሄድ ይመልከቱ። $ git ቼክአውት ሴሜ-14.1 ቅርንጫፍ 'cm-14.1' 'origin/cm-14.1'ን ለመከታተል ተዋቅሯል። ወደ አዲስ ቅርንጫፍ 'cm-14.1' ተቀይሯል # እና አሁን PRs ይዘረዝራል። $ gh pr ዝርዝር 1 ከ 1 ክፍት የመሳብ ጥያቄን በwindowz414/platform_manifest #1 teos በማሳየት ላይ፡ ወደ Git-Polycule wz414-labs፡cm-14.1

አሁን የርቀት መቆጣጠሪያ ወደ “ጂት-ፖሊዩል” ለመቀየር PR እንዳለ ስናይ፣ በእሱ ምን እንደተለወጠ እንመልከት።

$ gh pr diff 1 diff --git a/teos.xml b/teos.xml ኢንዴክስ b145fc0..3aadeb6 100644 --- አ/teos.xml +++ b/teos.xml @@ -2,7 +2,7፣ 414 @@ 

ተስፋ ሰጪ ይመስላል! የመዋሃድ ጊዜ!

$gh pr ውህደት 1? የትኛውን የውህደት ዘዴ መጠቀም ይፈልጋሉ? እንደገና ይመሰረቱ እና ይዋሃዱ? ቀጥሎ ምን አለ? አስገባ ✓ እንደገና የተመሰረተ እና የተዋሃደ የመሳብ ጥያቄ #1 (teos: ወደ Git-Polycule ቀይር)

አሁን ካዋህደኩት ሹካህን መሰረዝ ትችላለህ።

$ gh repo ሰርዝ --wz414-labs/platform_manifest አረጋግጥ ✓ የተሰረዘ ማከማቻ wz414-labs/platform_manifest

የ“–አረጋግጥ” መለኪያውን እዚያ ስላለፍኩ ምንም የማረጋገጫ ጥያቄ ሳይኖር ሬፖውን እንደሰረዘው አይተሃል። ካላለፉት ይህንን ያገኛሉ፡-

$ gh repo windows414/systemd ይሰረዝ? መሰረዙን ለማረጋገጥ windowz414/systemd ይተይቡ፡-

እና ሙሉውን የሬፖ ስም መተየብ ያስፈልግዎታል። የጊዜ ብክነት…

ማጠቃለያ

በቀላል አነጋገር `gh` ቀላል የጂት ኦፕሬሽኖችን እና የ GitHub API ነገሮችን በአንድ ጣሪያ ስር የሚያገናኝ በጣም የቀለለ Git CLI/Curl መጠቅለያ ነው። እንዴት ነው የምትጠቀመው? ለእኔ እንደሚያደርገው ለአንተ ተስፋ የሚሰጥ ይመስላል? ከእርስዎ ለመስማት በጉጉት እጠብቃለሁ!

ተዛማጅ ርዕሶች