ඔබ GitHub භාවිතා කරන්නේ නම් සහ GUI හි කිසිදු සංකූලතාවයකින් තොරව සියල්ල කිරීමට මා වැනි විධාන රේඛාවට කැමති නම්, GitHub ඔවුන්ගේ “gh” නම් එතරම් අලුත් නොවන මෙවලමක් භාවිතා කිරීමට පටන් ගත් ආකාරය ඔබ දැක ඇති. මම එය ලබා දීමට තීරණය කළෙමි, මන්ද එය සියල්ලටම වඩා හොඳ පෙනුමක් ඇති බැවිනි. ඒ වගේම මම පෞද්ගලිකව ඒකට ගොඩක් කැමති වුණා - මට ඒ ගැන ලිපියක් හදන්න ඕන වුණා!
අපි ආරම්භ කිරීමට පෙර, මම මෙම ලිපියේ භාවිතා කරන යෙදුම් කිහිපයක් පැහැදිලි කිරීමට අවශ්ය වේ.
"GH" යනු "GitHub". මෙවලමෙහි නම ද ආරම්භ වන්නේ මෙතැනිනි, එබැවින් එය Git සමඟ පටලවා ගත නොහැක. එය පොදුවේ කරන්නේ කුමක්ද යන්න පැහැදිලි කිරීම සඳහා, ඔබට නිර්මාණය කිරීමට, දෙබලකට, මකා දැමීමට, ගබඩා බ්රවුස් කිරීමට හැකිය; ඇදීමේ ඉල්ලීම් සාදන්න; සහ තවත් බොහෝ. ඔබට විශේෂාංගයක් සොයාගත නොහැකි නමුත් ටර්මිනලයෙන් ඉවත් වීමට අවශ්ය නැතිනම්, එය ඔබට GitHub හි පිටු බ්රවුස් කිරීමට පෙළ-පාදක බ්රවුසරයක් ද සපයයි.
"CLI" යනු "Cඕමන්ඩ් Lඅම්මා Iඅතුරු මුහුණත". එම Terminal (හෝ Windows, Command Prompt) ඒවායින් එකකි. යෙදුම් නාමයක් (මෙම ලිපිය සඳහා "Git CLI") අසල "CLI" එකතු කර ඇත්නම්, එයින් අදහස් වන්නේ යෙදුම ටර්මිනලය හරහා පමණක් ධාවනය වන බවයි. තවද මෙම සන්දර්භය තුළ "Git CLI" යනු අප දන්නා Git වේ. අපි කරන command එක වගේ Commits or rebases with.
GUI යනු "Gරැෆිකල් Uවිය යුතු ය Iඅතුරුමුහුණත" සහ එය අප "සැරිසැරීමට" යන අතුරු මුහුණතයි. සාමාන්යයෙන් ඩෙස්ක්ටොප් පරිසරයක් යනු GUI එකක් බව පැවසීම වඩා හොඳය.
"API යතුර" යනු ඔබ සේවා සඳහා සත්යාපනය කිරීමට භාවිතා කරන යම් ආකාරයක රහස් තන්තුවක්/ගොනුවකි. ඔබ එය සමඟ සත්යාපනය කරන විට එය 2 සාධක සත්යාපනය මඟහරින බව පරෙස්සම් වන්න. එබැවින් ඒවා ආරක්ෂිතව තබා ගැනීමට සහ වෙනත් ක්රම මගින් ළඟා විය නොහැකි ස්ථානයක තැබීමට වග බලා ගන්න.
පළමුවෙන්ම, මෙම මෙවලම කුමක්ද? Git CLI හරහා අප කරන මෙහෙයුම් එය හසුරුවන්නේ කෙසේද?
"gh" විවෘත මූලාශ්රයක් ලෙස සැලකිය හැක (ප්රභව කේතය) දේවල් සිදු කිරීම සඳහා Git CLI සහ GitHub API භාවිතා කරන දවටනය. ඇත්ත වශයෙන්ම, ඔබට එය භාවිතා කරන Git විධාන සඳහා පරාමිති පවා ලබා දිය හැකිය! මම ඒවට පස්සේ එන්නම්.
ස්ථාපනය සහ සැකසීම
මම භාවිතා කරමින් ස්ථාපනය හරහා යන බව මතක තබා ගන්න ටර්මක්ස්. නමුත් ක්රියා පටිපාටිය ඔබට ඩේබියන් පාදක ඩිස්ට්රෝ එකක තිබිය හැකි ආකාරයටම විය යුතුය - උබුන්ටු එය ඔවුන්ගේ නිල ගබඩාවල ඇත. වින්ඩෝස් සඳහා, ඔබට CygWin හෝ WSL අවශ්ය වේ. ¯\_(ツ)_/¯
# අපි මුලින්ම මෙවලම ස්ථාපනය කරමු. එය gh සඳහා පසුබිම # වන බැවින් Git ස්ථාපනය කිරීම. $ pkg ස්ථාපනය git gh -y # එවිට සියල්ලට පෙර, අපි සත්යාපනය කළ යුතුයි. මෙය # නව API යතුරක් මෙවලමෙහි දත්ත ගබඩාවේ සුරකිනු ඇති බැවින් ඔබට # නැවත සත්යාපනය කිරීමට අවශ්ය නොවනු ඇත. ඔබ දැනටමත් GITHUB_TOKEN සකසා ඇත්නම්, මෙය ක්රියා නොකරනු ඇති බැවින් # එය පළමුව නොසකසා ඇත. :) $ gh auth පිවිසුම
දැන්, අපි මෙහි ඉදිරියට යාමට පෙර, මට කරුණු කිහිපයක් පෙන්වා දිය යුතුය.
- මුලින්ම, "GitHub Enterprise Server" තෝරා නොගන්න ඔබට ස්වයං-සත්කාරක GitHub වර්ගයක් නොමැති නම්.
- දෙවනුව, ඔබගේ GitHub ගිණුමට ඔබගේ පොදු යතුර එක් කර ඇත්නම් HTTPS වෙනුවට SSH භාවිතා කරන්න. ඔබට API යතුර අහිමි වුවහොත්, ඔබට අවම වශයෙන් ඔබේ SSH යතුර අහිමි නොවනු ඇත, එබැවින් එය හොඳ පසුබැසීමේ ක්රමයක් ද විය හැකිය.
- තෙවනුව, බ්රව්සරය සමඟ ලොග් වීම තෝරන්න ඔබ අතේ API යතුරක් නොමැති නම් පමණි! ඇත්ත වශයෙන්ම, ඔබට දැනටමත් යතුරක් තිබියදී තවත් යතුරක් තිබීම තේරුමක් නැත.
ඔබ දේවල් සකස් කර අවසන් වූ පසු, අපි ඒ ගැන Git CLI ට කියමු.
$ gh auth පිහිටුවීම්-git
මෙය ඔබගේ ප්රත්යාවර්තය ඇතුළු වූ විට සහ GH වෙනුවට Git භාවිතා කිරීමට සැලැස්වූ විට අවශ්ය Git CLI වින්යාසයන් සිදු කරනු ඇත.
මූලික විධාන කිහිපයක්
දැන් ඔබ GH පිහිටුවා ඇති බැවින්, මම ඔබට කථා පදනමක් තුළ මූලික විධාන කිහිපයක් ඉගැන්වීමට ඉඩ දෙන්න.
පළමුවෙන්ම, ඔබට මගේ ප්රාදේශීය මැනිෆෙස්ට් රෙපෝ වෙත ඇදීමේ ඉල්ලීමක් සෑදීමට අවශ්ය යැයි කියමු. ඔබ මුලින්ම එය දෙබල කිරීමට අවශ්යයි.
$gh repo fork windowz414/platform_manifest ! windowz414/platform_manifest දැනටමත් පවතීද ? ඔබ දෙබලක ක්ලෝන කිරීමට කැමතිද? ඔව් 'වේදිකාව_මැනිෆෙස්ට්' වෙත ක්ලෝන කිරීම... දුරස්ථ: වස්තු ගණන් කිරීම: 136, නිමයි. දුරස්ථ: වස්තු ගණන් කිරීම: 100% (136/136), නිමයි. දුරස්ථ: වස්තු සම්පීඩනය: 100% (81/81), නිමයි. දුරස්ථ: මුළු 136 (ඩෙල්ටා 46), නැවත භාවිත කළ 89 (ඩෙල්ටා 12), ඇසුරුම්-නැවත භාවිත කළ 0 ලැබෙන වස්තු: 100% (136/136), 30.70 KiB | 166.00 KiB/s, අවසන්. ඩෙල්ටාවන් විසඳීම: 100% (46/46), නිමයි. github.com වෙතින් upstream යාවත්කාලීන කිරීම:windowz414/platform_manifest * [නව ශාඛාව] amyrom/rosie -> upstream/amyrom/rosie * [නව ශාඛාව] aosp-eleven -> upstream/aosp-eleven * [නව ශාඛාව] aosp-ten -> upstream/aosp-ten * [නව ශාඛාව] arrow-11.0 -> upstream/arrow-11.0 * [නව ශාඛාව] cm-14.1 -> upstream/cm-14.1 * [නව ශාඛාව] dot11 -> upstream/dot11 * [නව ශාඛාව ] e/os/v1-nougat -> upstream/e/os/v1-nougat * [නව ශාඛාව] තරල-11 -> upstream/fluid-11 * [නව ශාඛාව] fox_7.1 -> upstream/fox_7.1 * [නව ශාඛාව] hentai-rika -> upstream/hentai-rika * [නව ශාඛාව] ion-pie -> upstream/ion-pie * [නව ශාඛාව] පරම්පරාව-15.1 -> upstream/lineage-15.1 * [නව ශාඛාව] පරම්පරාව -17.1 -> upstream/lineage-17.1 * [නව ශාඛාව] පරම්පරාව-18.1 -> upstream/lineage-18.1 * [නව ශාඛාව] පරම්පරාව-18.1_teos -> upstream/lineage-18.1_teos * [නව ශාඛාව] පෙළපත-19.0 - > upstream/lineage-19.0 * [නව ශාඛාව] ප්රධාන -> upstream/main * [නව ශාඛාව] mkn-mr1 -> upstream/mkn-mr1 * [නව ශාඛාව] revengeos-r11.0 -> upstream/revengeos-r11.0. 1 * [නව ශාඛාව] stellar-S1 -> upstream/stellar-S11 * [නව ශාඛාව] teos-n -> upstream/teos-n * [නව ශාඛාව] weebprojekt-11 -> upstream/weebprojekt-XNUMX ✓ ක්ලෝන කළ දෙබල
එවිට අපි කියමු ඔබේ අත්හදා බැලීම් සඳහා ඔබට “wz414-labs” නමින් වෙනම සංවිධානයක් ඇති බව, ඔබ තවමත් ඔබේ පුද්ගලික පැතිකඩෙහි නොගැලපෙන බවත්, එහි ක්ලෝන කිරීමට අවශ්ය බවත්, ඒ වෙනුවට එහි ඇදීමේ ඉල්ලීම විවෘත කරන්න. ඔබට “cm-14.1” ශාඛාව ක්ලෝන කිරීමටද අවශ්ය වන බැවින් ඔබට එය නැවත git-checkout කිරීමට අවශ්ය නොවනු ඇත.
$ 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 KiB | 120.00 KiB/s, අවසන්. ඩෙල්ටාවන් විසඳීම: 100% (46/46), නිමයි. github.com වෙතින් upstream යාවත්කාලීන කිරීම:windowz414/platform_manifest * [නව ශාඛාව] amyrom/rosie -> upstream/amyrom/rosie * [නව ශාඛාව] aosp-eleven -> upstream/aosp-eleven * [නව ශාඛාව] aosp-ten -> upstream/aosp-ten * [නව ශාඛාව] arrow-11.0 -> upstream/arrow-11.0 * [නව ශාඛාව] cm-14.1 -> upstream/cm-14.1 * [නව ශාඛාව] dot11 -> upstream/dot11 * [නව ශාඛාව ] e/os/v1-nougat -> upstream/e/os/v1-nougat * [නව ශාඛාව] තරල-11 -> upstream/fluid-11 * [නව ශාඛාව] fox_7.1 -> upstream/fox_7.1 * [නව ශාඛාව] hentai-rika -> upstream/hentai-rika * [නව ශාඛාව] ion-pie -> upstream/ion-pie * [නව ශාඛාව] පරම්පරාව-15.1 -> upstream/lineage-15.1 * [නව ශාඛාව] පරම්පරාව -17.1 -> upstream/lineage-17.1 * [නව ශාඛාව] පරම්පරාව-18.1 -> upstream/lineage-18.1 * [නව ශාඛාව] පරම්පරාව-18.1_teos -> upstream/lineage-18.1_teos * [නව ශාඛාව] පෙළපත-19.0 - > upstream/lineage-19.0 * [නව ශාඛාව] ප්රධාන -> upstream/main * [නව ශාඛාව] mkn-mr1 -> upstream/mkn-mr1 * [නව ශාඛාව] revengeos-r11.0 -> upstream/revengeos-r11.0. 1 * [නව ශාඛාව] stellar-S1 -> upstream/stellar-S11 * [නව ශාඛාව] teos-n -> upstream/teos-n * [නව ශාඛාව] weebprojekt-11 -> upstream/weebprojekt-XNUMX ✓ ක්ලෝන කළ දෙබල
මම “-b cm-14.1” භාවිතා නොකළ බවත් ඒ වෙනුවට දිගු තර්කය කළ බවත් ඔබට පෙනේ. මෙම ලිපියේ දිනය වන 16 පෙබරවාරි 2022 වන දින වන විට, GH හට කෙටි තර්ක නිවැරදිව Git CLI වෙත ලබා නොදෙන දෝෂයක් ඇති අතර ඒ වෙනුවට එය දිගු තර්ක ලෙස සිදු කිරීමට අවශ්ය වේ.
එය සිදු කළ පසු, ඔබ නිතිපතා ෆෝල්ඩරය ඇතුළු කර, ඔබේ වෙනස්කම් සිදු කර, කැපවීමෙන් පසුව එය තල්ලු කර, සහ අදින්න ඉල්ලීම කිරීමට සූදානම්. මේ සඳහා, ඔබට අවශ්ය සියල්ල සරල ය
$ gh pr create --branch="cm-14.1" windowz414/platform_manifest හි wz14.1-labs:cm-14.1 cm-414 වෙත ඇදීමේ ඉල්ලීමක් නිර්මාණය කරමින් ? මාතෘකාව teos: Git-Polycule වෙත වෙනස් කරන්නද? සිරුර ? ඊළඟට කුමක් ද? ඉදිරිපත් කරන්න https://github.com/windowz414/platform_manifest/pull/1
ඔබ “–branch=cm-14.1” එකතු නොකරන්නේ නම්, ඔබ “ප්රධාන” ශාඛාව දෙසට PR නිර්මාණය කරනු ඇත, එය නිවැරදිව හසුරුවන්නේ නැති විට ගැටළු ඇති කරයි.
දැන්, මට මෙම PR එක ඒකාබද්ධ කිරීමට අවශ්යයි, හරිද? ඒ නිසා මම මුලින්ම repo ක්ලෝන කර, පවරා ඇති ශාඛාවට පිටවී ගොස්, පළමුව PR ලැයිස්තුගත කරමි.
# මුලින්ම ක්ලෝන කිරීම. $ git clone https://github.com/windowz414/platform_manifest 'platform_manifest' වෙත ක්ලෝන කිරීම... දුරස්ථ: වස්තු ගණනය කිරීම: 136, නිමයි. දුරස්ථ: වස්තු ගණන් කිරීම: 100% (136/136), නිමයි. දුරස්ථ: වස්තු සම්පීඩනය: 100% (81/81), නිමයි. දුරස්ථ: මුළු 136 (ඩෙල්ටා 46), නැවත භාවිත කළ 89 (ඩෙල්ටා 12), ඇසුරුම්-නැවත භාවිත කළ 0 ලැබෙන වස්තු: 100% (136/136), 30.70 KiB | 137.00 KiB/s, අවසන්. ඩෙල්ටාවන් විසඳීම: 100% (46/46), නිමයි. # ඉන්පසු ශාඛාව වෙත පරීක්ෂා කිරීම. $ git Checkout cm-14.1 ශාඛාව 'cm-14.1' 'සම්භවය/cm-14.1' නිරීක්ෂණය කිරීමට සකසා ඇත. නව ශාඛාවකට මාරු විය 'cm-14.1' # සහ දැන් PR ලැයිස්තුගත කරමින්. $ gh pr ලැයිස්තුව windowz1/platform_manifest #1 teos හි විවෘත අදින්න ඉල්ලීම් 414කින් 1ක් පෙන්වමින්: Git-Polycule wz414-labs:cm-14.1 වෙත වෙනස් කරන්න
දුරස්ථ පාලකය “Git-Polycule” ලෙස වෙනස් කිරීමට PR එකක් තිබෙන බව දැන් අපට පෙනෙන නිසා, අපි බලමු එයින් වෙනස් වී ඇත්තේ කුමක්ද කියා.
$ gh pr වෙනස 1 වෙනස --git a/teos.xml b/teos.xml දර්ශකය b145fc0..3aadeb6 100644 --- a/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
මම එහි “-confirm” පරාමිතිය පසු කළ නිසා කිසිදු තහවුරු කිරීමේ ඉල්ලීමක් නොමැතිව සෘජුවම repo මකා දැමූ බව ඔබට පෙනේ. ඔබ එය සමත් නොවන්නේ නම්, ඔබට මෙය ලැබෙනු ඇත:
$gh repo මකන්න windowz414/systemd ? මකාදැමීම තහවුරු කිරීමට windowz414/systemd ටයිප් කරන්න:
තවද ඔබට සම්පූර්ණ repo නම ටයිප් කිරීමට අවශ්ය වනු ඇත. කාලය නාස්ති...
සාරාංශය
සරලව කිවහොත්, `gh` යනු සරල Git මෙහෙයුම් සහ GitHub API දේවල් එකම වහලක් යට ඒකාබද්ධ කරන ඉතා සරල කළ Git CLI/Curl දවටනයකි. ඔබ එය භාවිතා කරන්නේ කෙසේද? එය මට මෙන් ඔබට පොරොන්දු වූ බවක් පෙනේද? ඔබගෙන් තොරතුරක් බලාපොරොත්තුවෙන් ඉන්නවා!