אויב איר האָט געוויינט GitHub און פּריפערד די באַפֿעלן שורה ווי מיר צו טאָן אַלץ אָן קיין קאַמפּלאַקיישאַנז אויף GUI, איר קען האָבן באמערקט ווי GitHub סטאַרטעד צו נוצן זייער ניט-אַזוי-נייַ געצייַג גערופֿן "gh". איך באַשלאָסן צו געבן עס אַ שאָס, ווייַל עס געקוקט פּראַמאַסינג נאָך אַלע. און איך פּערסנאַלי לייקט עס אַ פּלאַץ - אַזוי פיל אַז איך געוואלט צו מאַכן אַן אַרטיקל וועגן אים!
איידער מיר אָנהייבן, איך דאַרפֿן צו דערקלערן עטלעכע טערמינען וואָס איך וועט נוצן אין דעם אַרטיקל.
"GH" שטייט פֿאַר "GitHוב". דאָס איז ווו די נאָמען פון די געצייַג ערידזשאַנייץ פון אויך, אַזוי עס קענען ניט זיין צעמישט מיט גיט זיך. צו דערקלערן וואָס עס טוט אין אַלגעמיין, איר קענען מאַכן, גאָפּל, ויסמעקן, בלעטער רעפּאָס; שאַפֿן ציען ריקוועס; און פילע מער. אויב איר קענט נישט געפֿינען אַ שטריך אָבער איר ווילט נישט פאַרלאָזן וואָקזאַל, עס אויך גיט אַ טעקסט-באזירט בלעטערער פֿאַר איר צו בלעטער בלעטער אין GitHub.
"CLI" שטייט פֿאַר "Cבאַפעלן Lינע Iינטערפאַסע". דער טערמינאַל (אָדער אין Windows, Command Prompt) איז איינער פון זיי. אויב עס איז אַ "CLI" צוגעשטעלט ווייַטער צו אַ אַפּ נאָמען ("גיט CLI" פֿאַר דעם אַרטיקל), עס מיטל אַז די אַפּ לויפט בלויז דורך וואָקזאַל. און "Git CLI" אין דעם קאָנטעקסט איז, נו, די גיט וואָס מיר וויסן. ווי די באַפֿעל מיר מאַכן קאַמיץ אָדער ריבאַסעס מיט.
GUI שטייט פֿאַר "Gראַפיקאַל Uזען Interface" און דאָס איז די צובינד אויף וואָס מיר "נאַוויגירן". בעסער געזאגט, אַ דעסקטאַפּ סוויווע אין אַלגעמיין איז אַ GUI.
אַ "אַפּי שליסל" איז אַ סוד שטריקל / טעקע איר נוצן צו אָטענטאַקייט צו סערוויסעס. היט אייך אַז עס בייפּאַסיז 2 פאַקטאָר אָטענטאַקיישאַן און אַזוי אויף ווען איר אָטענטאַקייט מיט אים. אַזוי מאַכן זיכער צו האַלטן זיי זיכער און ערגעץ אַז ס אויס פון דערגרייכן דורך אנדערע מיטלען.
ערשטער פון אַלע, וואָס איז דעם געצייַג? ווי טוט עס שעפּן אַפּעריישאַנז וואָס מיר וואָלט טאָן דורך Git CLI?
"gh" קענען זיין גערעכנט ווי אַ אָפֿן מקור (מקור קאָד) ראַפּער ניצן Git CLI זיך און GitHub APIs צו באַקומען טינגז. אין פאַקט, איר קענען אפילו פאָרן פּאַראַמעטערס צו די Git קאַמאַנדז עס ניצט! איך וועל קומען אין די שפּעטער.
ינסטאָלינג און באַשטעטיקן
האַלטן אין מיינונג אַז איך וועט גיין דורך די ינסטאַלירונג ניצן termux. אָבער דער פּראָצעדור זאָל זיין כּמעט די זעלבע ווי איר קען האָבן אויף אַ דעביאַן-באזירט דיסטראָ - Ubuntu האט עס פֿאַר בייַשפּיל אויף זייער באַאַמטער רעפּאָס. פֿאַר Windows, נו, איר דאַרפֿן CygWin אָדער WSL איך רעכן. ¯\_(ツ)_/¯
# לאָמיר ינסטאַלירן די געצייַג ערשטער. אויך ינסטאַלירן Git ווייַל עס איז די באַקענד # פֿאַר gh. $ pkg install git gh -y # דערנאָך איידער אַלץ, מיר דאַרפֿן צו אָטענטאַקייט. דאָס וועט ראַטעווען אַ # נייַע אַפּי שליסל אין די דאַטאַבייס פון די געצייַג אַזוי איר וועט ניט דאַרפֿן צו אָטענטאַקייט # ווידער. אויב איר האָט שוין באַשטימט GITHUB_TOKEN, דאָס וועט נישט אַרבעטן אַזוי נישט באַשטימט # עס ערשטער. :) $ gh אַוטהאַדזש לאָגין
איצט, איידער מיר פאָרזעצן דאָ, איך דאַרפֿן צו ווייַזן עטלעכע זאכן.
- Firstly, טאָן ניט קלייַבן "GitHub Enterprise Server" אויב איר טאָן ניט האָבן אַן זיך-כאָוסטיד GitHub.
- צווייטנס, ניצן SSH אַנשטאָט פון HTTPS אויב דיין ציבור שליסל איז צוגעגעבן צו דיין GitHub חשבון. אויב איר פאַרלירן די אַפּי שליסל, איר אין מינדסטער נישט פאַרלירן דיין SSH שליסל אַזוי עס קען אויך זיין אַ גוט פאַלבאַק אופֿן.
- טהירדלי, קלייַבן לאָגינג אין מיט בלעטערער נאָר אויב איר טאָן ניט האָבן אַ API שליסל אין האַנט! טאַקע, עס וואָלט נישט מאַכן זינען צו האָבן אן אנדער שליסל בשעת איר שוין האָבן איין.
אַמאָל איר האָט פאַרטיק באַשטעטיקן די טינגז, לאָזן אונדז זאָגן Git CLI וועגן אים.
$ gh aut setup-git
דאָס וועט מאַכן די נייטיק Git CLI קאַנפיגיעריישאַנז נאָר אויב דיין ריפלעקסאַז באַרג אין און מאַכן איר נוצן Git אַנשטאָט פון GH.
עטלעכע יקערדיק קאַמאַנדז
איצט אַז איר האָט באַשטעטיקט GH, לאָזן מיר לערנען איר עטלעכע יקערדיק קאַמאַנדז אין אַ געשיכטע יקער.
ערשטער פון אַלע, לאָזן ס זאָגן איר ווילן צו מאַכן אַ ציען בעטן צו מיין היגע מאַניפעסץ רעפּאָ. איר ווילן צו גאָפּל עס ערשטער.
$ gh רעפּאָ גאָפּל ווינדאָווז414/פּלאַטפאָרמע_מאַניפעסט! ווינדאָווז414/פּלאַטפאָרמע_מאַניפעסט שוין יגזיסץ? וואָלט איר ווי צו קלאָון די גאָפּל? יאָ קלאָונינג אין 'פּלאַטפאָרמע_מאַניפעסט'... ווייַט: ינומערייטינג אַבדזשעקץ: 136, געטאן. ווייַט: קאַונטינג אַבדזשעקץ: 100% (136/136), געטאן. ווייַט: קאַמפּרעסינג אַבדזשעקץ: 100% (81/81), געטאן. ווייַט: גאַנץ 136 (דעלטאַ 46), ריוזד 89 (דעלטאַ 12), פּאַק ריוזד 0 ריסיווינג אַבדזשעקץ: 100% (136/136), 30.70 קיב | 166.00 קיב / s, געטאן. ריזאַלווינג דעלטאַס: 100% (46/46), געטאן. אַפּדייטינג אַפּסטרים פֿון github.com:windowz414/platform_manifest * [נייַ צווייַג] amyrom/rosie -> אַפּסטרים/amyrom/rosie * [נייַ צווייַג] aosp-eleven -> אַפּסטרים/aosp-eleven * [נייַ צווייַג] aosp-ten -> אַפּסטרים / aosp-ten * [נייַ צווייַג] arrow-11.0 -> אַפּסטרים / arrow-11.0 * [נייַ צווייַג] cm-14.1 -> אַפּסטרים / סענטימעטער-14.1 * [נייַ צווייַג] dot11 -> אַפּסטרים / דאָט11 * [נייַ צווייַג] ] e/os/v1-nougat -> אַפּסטרים/e/os/v1-nougat * [נייַ צווייַג] פליסיק-11 -> אַפּסטרים/פלויד-11 * [נייַ צווייַג] fox_7.1 -> אַפּסטרים/פאָקס_7.1 * [נייַ צווייַג] הענטאַי-ריקאַ -> אַפּסטרים / הענטאַי-ריקאַ * [נייַ צווייַג] יאָן-פּיראָג -> אַפּסטרים / יאָן-פּיראָג * [נייַ צווייַג] ייכעס-15.1 -> אַפּסטרים / ייכעס-15.1 * [נייַ צווייַג] ייכעס -17.1 -> אַפּסטרים / לינעאַגע-17.1 * [נייַ צווייַג] לינעאַגע-18.1 -> אַפּסטרים / לינעאַגע-18.1 * [נייַ צווייַג] לינעאַגע-18.1_טעאָס -> אַפּסטרים / לינעאַגע-18.1_טעאָס * [נייַ צווייַג] לינעאַגע-19.0 - > אַפּסטרים / לינעאַגע-19.0 * [נייַ צווייַג] הויפּט -> אַפּסטרים / הויפּט * [נייַ צווייַג] mkn-mr1 -> אַפּסטרים/מקן-מר1 * [נייַ צווייַג] רעווענגעאָס-ר11.0 -> אַפּסטרים / רעווענגעאָס-ר11.0. 1 * [נייַ צווייַג] סטעלער-S1 -> אַפּסטרים / סטעלער-S11 * [נייַ צווייַג] teos-n -> אַפּסטרים/טעאָס-n * [נייַ צווייַג] weebprojekt-11 -> אַפּסטרים/וועעבפּראָדזשעקט-XNUMX ✓ קלאָונד גאָפּל
לאָמיר זאָגן אַז איר האָט אַ באַזונדער אָרגאַניזאַציע פֿאַר דיין יקספּעראַמאַנץ גערופֿן "wz414-labs", אַז איר האָט נישט גאָפּל אויף דיין פערזענלעכע פּראָפיל נאָך און איר ווילן צו קלאָון דאָרט, און דעמאָלט עפענען ציען בעטן דורך דאָרט אַנשטאָט. איר אויך ווילן צו קלאָון די "cm-14.1" צווייַג אַזוי איר וועט ניט דאַרפֿן צו טאָן גיט-ויסשרייַבן צו עס ווידער.
$ gh repo fork windowz414/platform_manifest --org="wz414-labs" -- --branch="cm-14.1" ✓ באשאפן גאָפּל wz414-labs/platform_manifest? וואָלט איר ווי צו קלאָון די גאָפּל? יאָ קלאָונינג אין 'פּלאַטפאָרמע_מאַניפעסט'... ווייַט: ינומערייטינג אַבדזשעקץ: 136, געטאן. ווייַט: קאַונטינג אַבדזשעקץ: 100% (136/136), געטאן. ווייַט: קאַמפּרעסינג אַבדזשעקץ: 100% (81/81), געטאן. ווייַט: גאַנץ 136 (דעלטאַ 46), ריוזד 89 (דעלטאַ 12), פּאַק ריוזד 0 ריסיווינג אַבדזשעקץ: 100% (136/136), 30.70 קיב | 120.00 קיב / s, געטאן. ריזאַלווינג דעלטאַס: 100% (46/46), געטאן. אַפּדייטינג אַפּסטרים פֿון github.com:windowz414/platform_manifest * [נייַ צווייַג] amyrom/rosie -> אַפּסטרים/amyrom/rosie * [נייַ צווייַג] aosp-eleven -> אַפּסטרים/aosp-eleven * [נייַ צווייַג] aosp-ten -> אַפּסטרים / aosp-ten * [נייַ צווייַג] arrow-11.0 -> אַפּסטרים / arrow-11.0 * [נייַ צווייַג] cm-14.1 -> אַפּסטרים / סענטימעטער-14.1 * [נייַ צווייַג] dot11 -> אַפּסטרים / דאָט11 * [נייַ צווייַג] ] e/os/v1-nougat -> אַפּסטרים/e/os/v1-nougat * [נייַ צווייַג] פליסיק-11 -> אַפּסטרים/פלויד-11 * [נייַ צווייַג] fox_7.1 -> אַפּסטרים/פאָקס_7.1 * [נייַ צווייַג] הענטאַי-ריקאַ -> אַפּסטרים / הענטאַי-ריקאַ * [נייַ צווייַג] יאָן-פּיראָג -> אַפּסטרים / יאָן-פּיראָג * [נייַ צווייַג] ייכעס-15.1 -> אַפּסטרים / ייכעס-15.1 * [נייַ צווייַג] ייכעס -17.1 -> אַפּסטרים / לינעאַגע-17.1 * [נייַ צווייַג] לינעאַגע-18.1 -> אַפּסטרים / לינעאַגע-18.1 * [נייַ צווייַג] לינעאַגע-18.1_טעאָס -> אַפּסטרים / לינעאַגע-18.1_טעאָס * [נייַ צווייַג] לינעאַגע-19.0 - > אַפּסטרים / לינעאַגע-19.0 * [נייַ צווייַג] הויפּט -> אַפּסטרים / הויפּט * [נייַ צווייַג] mkn-mr1 -> אַפּסטרים/מקן-מר1 * [נייַ צווייַג] רעווענגעאָס-ר11.0 -> אַפּסטרים / רעווענגעאָס-ר11.0. 1 * [נייַ צווייַג] סטעלער-S1 -> אַפּסטרים / סטעלער-S11 * [נייַ צווייַג] teos-n -> אַפּסטרים/טעאָס-n * [נייַ צווייַג] weebprojekt-11 -> אַפּסטרים/וועעבפּראָדזשעקט-XNUMX ✓ קלאָונד גאָפּל
איר זען איך האט נישט נוצן "-b cm-14.1" און אַנשטאָט דעם לאַנג אַרגומענט. זינט דעם טאָג פון דעם אַרטיקל, פעברואר 16, 2022, GH האט אַ זשוק אַז עס טוט נישט פאָרן קורץ אַרגומענטן צו Git CLI ריכטיק און אַזוי עס דאַרף זיין געטאן ווי לאַנג אַרגומענטן אַנשטאָט.
אַמאָל דאָס איז דורכגעקאָכט, איר קעסיידער אריין די טעקע, האט דיין ענדערונגען, באגאנגען און פּושט עס, און איר זענט גרייט צו ציען בעטן. פֿאַר דעם, אַלע איר דאַרפֿן איז אַ פּשוט
$ gh pr create --branch="cm-14.1" קריייטינג ציען בעטן פֿאַר wz414-labs:cm-14.1 אין cm-14.1 אין ווינדאָווז414/פּלאַטפאָרמע_מאַניפעסט? טיטל טעאָס: טוישן צו Git-Polycule? גוף ? וואס איז נעקסט? פאָרלייגן https://github.com/windowz414/platform_manifest/pull/1
אויב איר טאָן ניט צוגעבן "–בראַנטש = סענטימעטער-14.1", איר וואָלט מאַכן פּר צו "הויפּט" צווייַג, וואָס פון קורס וועט פאַרשאַפן ישוז ווען עס איז נישט כאַנדאַלד רעכט.
און איצט, איך דאַרפֿן צו צונויפגיסן דעם פּר, רעכט? אַזוי איך ערשטער קלאָון די רעפּאָ, ויסשרייַבן צו די צווייַג אַסיינד, און רשימה פּרס ערשטער.
# קלאָונינג ערשטער . $ גיט קלאָון https://github.com/windowz414/platform_manifest קלאָונינג אין 'פּלאַטפאָרמע_מאַניפעסט'... ווייַט: ינומערייטינג אַבדזשעקץ: 136, געטאן. ווייַט: קאַונטינג אַבדזשעקץ: 100% (136/136), געטאן. ווייַט: קאַמפּרעסינג אַבדזשעקץ: 100% (81/81), געטאן. ווייַט: גאַנץ 136 (דעלטאַ 46), ריוזד 89 (דעלטאַ 12), פּאַק ריוזד 0 ריסיווינג אַבדזשעקץ: 100% (136/136), 30.70 קיב | 137.00 קיב / s, געטאן. ריזאַלווינג דעלטאַס: 100% (46/46), געטאן. # דעמאלט אויסקוקן צום צווייג . $ git ויסשרייַבן cm-14.1 צווייַג 'cm-14.1' שטעלן אַרויף צו שפּור 'אָריגינעל/cm-14.1'. סוויטשט צו אַ נייַע צווייַג 'cm-14.1' # און איצט ליסטינג פּרס. $ gh pr רשימה ווייזונג 1 פון 1 עפענען ציען בעטן אין ווינדאָווז414/פּלאַטפאָרמע_מאַניפעסט #1 טעאָס: טוישן צו Git-Polycule wz414-labs:cm-14.1
איצט אַז מיר זען אַז עס איז אַ פּר צו טוישן די ווייַט צו "Git-Polycule", לאָמיר זען וואָס האט געביטן מיט אים.
$ 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 @@
מיינט פּראַמאַסינג! צייט צו צונויפגיסן!
$ gh pr merge 1 ? וואָס צונויפגיסן אופֿן וואָלט איר ווי צו נוצן? רעבאַסע און צונויפגיסן? וואס איז נעקסט? פאָרלייגן ✓ רעבאַזירט און מערדזשד ציען בעטן #1 (טעאָס: טוישן צו Git-Polycule)
איצט אַז איך צונויפגיסן עס, איר קענען ויסמעקן דיין גאָפּל.
$ gh רעפּאָ ויסמעקן - באַשטעטיקן wz414-labs/platform_manifest ✓ אויסגעמעקט ריפּאַזאַטאָרי wz414-labs/platform_manifest
איר זען אַז גלייך אויסגעמעקט די רעפּאָ אָן באַשטעטיקונג בעטן ווייַל איך דורכגעגאנגען די "-באַשטעטיקן" פּאַראַמעטער דאָרט. אויב איר וואָלט נישט פאָרן עס, איר וואָלט באַקומען דעם:
$ gh רעפּאָ ויסמעקן ווינדאָווז414/סיסטעם? טיפּ windowsz414/systemd צו באַשטעטיקן די ויסמעקן:
און איר וואָלט דאַרפֿן צו אַרייַן די גאנצע רעפּאָ נאָמען. צייט וויסט…
קיצער
סימפּלי שטעלן, `gh` איז אַ שיין סימפּלאַפייד Git CLI / Curl ראַפּער וואָס יונאַפייינג פּשוט Git אַפּעריישאַנז און GitHub API טינגז אונטער דער זעלביקער דאַך. ווי טאָן איר נוצן עס? טוט עס קוקן פּראַמאַסינג צו איר ווי עס טוט צו מיר? איך קוק פאָרויס צו הערן פון איר!