Ачааллж байна...
Түвшин 1-д бид Git-ийг өөрийн компьютер дээр бүрэн эзэмшсэн. Таны зарлагын бүртгэл одоо хамгаалагдсан цомогтой, ойлгомжтой түүхтэй болсон. Гэхдээ тэр цомог нэг газар, зөвхөн таны компьютерийн дотор хадгалагдаж байна. Компьютер тань эвдэрвэл, алдагдвал, эсвэл та өөр компьютер дээр ажиллахыг хүсвэл цомог тань тэнд үлдэнэ. Мөн хэн ч, ажил олгогч ч, найз ч, хамтран ажиллагч ч таны ажлыг харж чадахгүй. Түвшин 2 энэ хоёр асуудлыг шийднэ. Энэ Түвшинд бид цомгоо GitHub гэдэг үйлчилгээ рүү гаргаж, дэлхийн хаанаас ч хүрч болохуйц болгоно.
Энэ хичээлд бид ганц ч Git command сурахгүй. Эхлээд GitHub гэж юу болох, Git-ээс юугаараа ялгаатай болох, яагаад түүнийг ашигладаг шударга шалтгаануудыг ойлгоно. Дараа нь local болон remote гэсэн хоёр ертөнцийн ойлголтыг тогтооно, энэ нь дараагийн гурван хичээлийн суурь болно. Эцэст нь GitHub-д бүртгэл үүсгэж, имэйлийнхээ нууцлалын тохиргоог хийнэ. Сайтын дэлгэцүүд цаг хугацааны явцад бага зэрэг өөрчлөгддөг тул таны харах зүйл энд тайлбарласнаас ялимгүй өөр байж болно, гэхдээ алхмууд үндсэндээ ижил байна.
Таны гэрэл зургийн цомог гэртээ, номын тавиур дээр байна гэж бодоорой. Тэр нь үнэ цэнтэй, гэхдээ эмзэг: гал, ус, хулгай, эсвэл энгийн мартамхай байдал түүнийг устгаж чадна. Одоо таны цомгийн яг ижил толь хувилбарыг найдвартай, аюулгүй, үргэлж нээлттэй нэгэн газарт хадгалах боломж байна гэж төсөөлөөрэй. Та гэртээ шинэ зураг нэмэх бүрт тэр толь хувилбарт ч нэмж болно. Хэрвээ гэрийнх тань алга болбол толь хувилбараас бүрэн хуулбарыг дахин авна. Хэрвээ та хүсвэл тэр толь хувилбарыг хэн нэгэнд үзүүлэх боломжтой, эсвэл зөвхөн өөртөө нууцлан хадгалж болно.
GitHub бол яг тэр үүлэн дэх толь хувилбарыг хадгалдаг газар юм. "Үүл" гэдэг нь интернэтэд байрлах, таны компьютерээс гадуурх серверүүдийг хэлдэг. Таны компьютер дээрх цомгийг local repository буюу орон нутгийн, гэрийн цомог гэнэ. GitHub дээрх түүний толь хувилбарыг remote repository буюу алсын цомог гэнэ. Хоёулаа бүрэн цомог, бүх зураг, бүх түүхтэй. Тэдгээрийн хооронд зургийг хоёр чиглэлд зөөж болно: гэрээс үүл рүү, үүлнээс гэр рүү. Энэ хоёр чиглэлийн command-уудыг дараагийн хоёр хичээлд сурна.
Бүлэг 1-ийн 2 дугаар хичээлд Git ба GitHub хоёр өөр зүйл гэж товч дурдсан. Одоо энэ ялгаа бидэнд бодитоор чухал болж байгаа тул бүрэн тодруулъя. Git бол таны компьютер дээр ажилладаг программ, цомгийг хөтөлдөг хэрэгсэл юм. Git үнэ төлбөргүй, нээлттэй эх кодтой, хэн ч эзэмшдэггүй. Та Түвшин 1-ийг бүхэлд нь GitHub-гүйгээр хийсэн бөгөөд Git интернэтгүйгээр ч бүрэн ажилладаг.
GitHub бол компани бөгөөд Git-ийн цомгуудыг интернэтэд хадгалдаг вэб үйлчилгээ санал болгодог. 2018 оноос хойш Microsoft компанийн мэдэлд байдаг. GitHub-ийн вэбсайтаар цомгуудаа browser-оос харах, бусадтай хуваалцах, хамтран ажиллах олон хэрэгсэл ашиглаж болно. GitHub Git-ийг ашигладаг ч Git GitHub-аас хамаардаггүй. Ижил үйлчилгээ санал болгодог бусад компаниуд ч бий, жишээ нь GitLab, Bitbucket. Тэдгээр нь бүгд ижил Git ашигладаг тул энэ сургалтад сурсан зүйл тань тэнд ч яг адилхан ажиллана. Энэ сургалт GitHub-ийг сонгосон шалтгаан нь хамгийн өргөн хэрэглэгддэг, ажил олгогчид хамгийн их хардаг, мөн нээлттэй эх кодын ертөнцийн гол төв нь болдогт оршино.
Нэгдүгээрт: нөөц хуулбар
Энэ бол хамгийн энгийн бөгөөд хамгийн практик шалтгаан. Таны код GitHub дээр байгаа бол компьютер тань эвдэрсэн, хатуу диск гэмтсэн, зөөврийн компьютер тань хулгайд алдагдсан ч ажил тань аюулгүй. Шинэ компьютер дээр хэдхэн минутын дотор бүх төслөө бүх түүхтэй нь эргүүлэн авна. Олон хүн хэдэн сарын ажлаа нэг өдөр алдсаны дараа л нөөц хуулбарын ач холбогдлыг ойлгодог. Та энэ сургамжийг хохиролгүйгээр, урьдчилан сурч байна.
Гэхдээ шударгаар хэлэхэд GitHub зөвхөн та түүн рүү илгээсэн зүйлийг л хадгална. Хэрвээ та гурван өдөр ажиллаад нэг ч удаа илгээгээгүй бол тэр гурван өдрийн ажил зөвхөн таны компьютер дээр байна. Тиймээс Бүлэг 2-т сурсан "байнга commit хий" гэсэн дадал энд "байнга илгээ" гэсэн шинэ дадлаар нэмэгдэнэ.
Хоёрдугаарт: үзүүлэн
Таны GitHub хуудас бол таны ажлын нээлттэй үзүүлэн, хөгжүүлэгчийн portfolio юм. Ажил олгогч, хамтран ажиллах хүсэлтэй хүн, эсвэл таны ур чадварыг сонирхсон хэн ч таны төслүүд, тэдгээрийн код, хөгжлийн түүхийг шууд харж чадна. "Би Python мэднэ" гэж хэлэхээс "миний бичсэн код, түүнийг хэрхэн алхам алхмаар хөгжүүлсэн түүх энд байна" гэж холбоос өгөх нь хавьгүй хүчтэй. Энэ сэдвийг бид Бүлэг 5-д дэлгэрэнгүй ярина. Одоохондоо GitHub дээрх төсөл бүр таны тухай ярьдаг гэдгийг мэдэхэд хангалттай.
Гэхдээ энэ нь таны бүх төсөл нийтэд нээлттэй байх ёстой гэсэн үг биш. GitHub-д repository үүсгэхдээ public буюу нийтэд нээлттэй, эсвэл private буюу зөвхөн танд харагдах хоёрын аль нэгийг сонгодог. Үнэ төлбөргүй бүртгэлд аль аль нь хязгааргүй тоогоор боломжтой. Хувийн төсөл, туршилт, дадлагын фолдероо private, бусдад харуулахыг хүссэн ажлаа public болгож болно.
Гуравдугаарт: хамтын ажиллагаа
GitHub олон хүн нэг төсөл дээр хамтран ажиллах зорилгоор бүтээгдсэн. Хүмүүс бие биенийхээ ажлыг хуулж авах, өөрчлөлт санал болгох, алдааг мэдээлэх, хэлэлцэх, нэгтгэх бүх хэрэгслийг нэг газар санал болгодог. Дэлхийн хамгийн том нээлттэй эх кодын төслүүд, таны ашигладаг Python package-уудын ихэнх нь GitHub дээр хөгждөг. Хэн ч тэдгээрийн кодыг уншиж, алдааг мэдээлж, засвар санал болгож болно.
Энэ сургалтад та ганцаараа ажиллах тул энэ шалтгаан одоохондоо хамгийн бага ач холбогдолтой мэт санагдаж болно. Гэхдээ Бүлэг 6-д бид багийн ажлын гол хэрэгслүүд болох issue болон pull request-ийг өөрийн төсөл дээрээ ганцаараа туршиж үзнэ. Ингэснээр хожим багт нэгдэх үед та тэдгээрийг аль хэдийн мэддэг байх болно.
Одоо дараагийн гурван хичээлийн суурь болох ойлголтыг тогтооё. GitHub ашиглаж эхэлснээр таны төсөл хоёр газар амьдардаг болно. Local repository таны компьютер дээр байна. Та тэнд ажиллаж, файлуудаа засаж, commit хийнэ. Түвшин 1-д сурсан бүх зүйл энд болдог. Remote repository GitHub дээр байна. Тэнд та шууд ажилладаггүй, харин local-аас зургуудаа илгээж, эсвэл тэндээс шинэ зургуудыг татаж авдаг.
Энэ хоёр цомгийн тухай хамгийн чухал баримт бол тэд автоматаар ижил болдоггүй явдал юм. Та local дээр commit хийхэд remote тэр тухай юу ч мэдэхгүй. Та илгээх хүртэл GitHub хуучин байдлаараа үлдэнэ. Эсрэгээрээ, GitHub дээр ямар нэг зүйл өөрчлөгдвөл таны local тэр тухай мэдэхгүй, та татаж авах хүртэл. Хоёр цомгийг ижил байлгах нь таны ухамсартай үйлдэл юм. Энэ нь эхэндээ төвөгтэй мэт санагдаж болох ч яг энэ хяналт танд хүч өгдөг: та хэзээ юуг хуваалцахаа өөрөө шийднэ.
Энэ ойлголтыг хоёр сумаар төсөөлөөрэй. Нэг сум таны компьютерээс GitHub руу, дээш чиглэнэ. Энэ бол push буюу түлхэх, илгээх үйлдэл. Нөгөө сум GitHub-аас таны компьютер руу, доош чиглэнэ. Энэ бол pull буюу татах үйлдэл. Бүлэг 4-ийн үлдсэн гурван хичээл бүхэлдээ эдгээр хоёр сумын тухай. Дараагийн хичээлд дээш чиглэсэн сумыг, түүний дараагийнхад доош чиглэсэнийг сурч, эцэст нь хоёуланг нь хамт ажиллуулна.
Одоо онолоос практик руу шилжье. Хэрвээ танд GitHub бүртгэл аль хэдийн байгаа бол энэ хэсгийг алгасаад "Имэйлийн нууцлал" хэсэг рүү шууд очоорой.
Бэлтгэл: хэрэглэгчийн нэрээ сонгох
Бүртгэл үүсгэхээс өмнө нэг шийдвэрийг сайн бодоорой: хэрэглэгчийн нэр буюу username. Энэ нэр таны бүх төслийн хаягт харагдана, жишээ нь github.com/bat-dorj/expense-tracker. Ажил олгогч таны GitHub-ийг үзэхэд хамгийн түрүүнд энэ нэрийг харна. Тиймээс мэргэжлийн, ойлгомжтой нэр сонгох нь чухал. Хамгийн энгийн сонголт бол нэр, овгоо латин үсгээр зураасаар холбох, жишээ нь bat-dorj эсвэл batdorj. Хошин, хоч, тоо их агуулсан нэр, жишээ нь “coolboy2005” зэрэг нэрээс зайлсхийгээрэй. Username-ийг хожим өөрчилж болох ч өөрчлөхөд хуучин холбоосууд ажиллахгүй болдог тул эхнээс нь зөв сонгох нь дээр.
Алхам 1: Бүртгэлийн хуудас руу орох
Browser-оо нээгээд github.com хаяг руу орно уу. Хуудасны баруун дээд буланд “Sign up” товч байна, түүнийг дарна уу. Хэрвээ та шууд нэвтрэх хуудас руу орсон бол доод хэсэгт байгаа бүртгэл үүсгэх холбоосыг хайна уу.
[Зураг: github.com нүүр хуудас, Sign up товч тодруулсан]
Алхам 2: Мэдээллээ оруулах
Бүртгэлийн маягт танаас хэд хэдэн мэдээлэл асууна. Email талбарт Бүлэг 1-ийн 3 дугаар хичээлд git config --global user.email-д бичсэн имэйлээ оруулахыг зөвлөж байна. Ингэснээр таны local дээр хийсэн commit-ууд GitHub дээр таны бүртгэлтэй автоматаар холбогдож, таны нэр, зурагтай харагдана. Password талбарт хүчтэй нууц үг бичнэ үү. GitHub урт нууц үг, эсвэл тоо, жижиг үсэг агуулсан нууц үг шаарддаг бөгөөд шаардлага хангаагүй бол шууд мэдэгдэнэ. Username талбарт дээр сонгосон нэрээ бичнэ. Хэрвээ нэр аль хэдийн эзэмшигдсэн бол GitHub шууд хэлж, өөр хувилбар санал болгоно.
Маягтад мөн улс сонгох талбар, GitHub-ын мэдээллийн имэйл хүлээн авах эсэхийг асуусан сонголт байж болно. Улсаа сонгоод, мэдээллийн имэйлийг хүсэхгүй бол тэмдэглэгээг арилгаж болно. Мэдээллээ оруулсны дараа Continue эсвэл Create account дарна уу.
[Зураг: бүртгэлийн маягт, email, password, username талбарууд]
Алхам 3: Робот биш гэдгээ батлах
GitHub таныг жинхэнэ хүн эсэхийг шалгах жижиг оньсого харуулна. Жишээ нь зургуудаас тодорхой зүйлийг сонгох, эсвэл дүрсийг зөв чиглэлд эргүүлэх зэрэг. Зарим оньсого хэд хэдэн шаттай байдаг тул GitHub баталгаажуулсныг мэдэгдэх хүртэл үргэлжлүүлээрэй. Энэ нь хөгжүүлэгчдийн платформыг автомат хуурамч бүртгэлээс хамгаалах энгийн арга юм.
Алхам 4: Имэйлээ баталгаажуулах
Оньсогыг давсны дараа GitHub таны имэйл рүү “launch code” буюу эхлүүлэх код илгээнэ. Шинэ таб дээр имэйлээ нээж, GitHub-аас ирсэн захидлыг хайна уу. Тэр захидалд хэдэн оронтой тоон код байна. Тэр кодыг GitHub-ийн хуудсанд оруулна уу. Код буруу эсвэл хугацаа нь дууссан бол хуудсан дээрх кодыг дахин илгээх холбоосыг ашиглана уу.
[Зураг: launch code оруулах хуудас]
Алхам 5: Хувийн тохиргоог алгасах
Кодыг оруулсны дараа GitHub таныг юунд ашиглах гэж байгаа, ямар туршлагатай вэ гэх мэт хэдэн асуулт асууж магадгүй. Эдгээр нь бүгд сонголт бөгөөд хариулахгүй байж болно. Хэрвээ төлбөртэй багцыг санал болгох хуудас гарвал үнэ төлбөргүй сонголтыг, ихэвчлэн “Continue for free” эсвэл түүнтэй төстэй товчийг сонгоорой. Энэ сургалтад шаардлагатай бүх зүйл үнэ төлбөргүй бүртгэлд багтсан.
Эцэст нь та GitHub-ийн dashboard буюу хяналтын самбар руу орно. Энэ бол таны GitHub-ийн нүүр хуудас бөгөөд одоохондоо хоосон. Баруун дээд буланд таны профайлын зураг байх бөгөөд түүнийг дарахад таны профайл, тохиргоо зэрэг цэс нээгдэнэ.
[Зураг: шинэ хоосон dashboard]
Хоёр шатлалт баталгаажуулалтын тухай
GitHub код илгээдэг бүх хэрэглэгчээс бүртгэлээ хамгаалах хоёр шатлалт баталгаажуулалт буюу two-factor authentication идэвхжүүлэхийг шаарддаг. Энэ нь нэвтрэхэд нууц үгээс гадна утсан дээрх аппын код зэрэг хоёр дахь баталгаа шаардана гэсэн утгатай. GitHub танд үүнийг тохируулахыг сануулж эхэлбэл санаа зовох хэрэггүй, энэ бол таны бүртгэлийг хамгаалах хэвийн шаардлага. Бид GitHub-тай компьютерээ холбох дараагийн хичээлд нэвтрэх аргын тухай ярихдаа энэ сэдвийг үргэлжлүүлнэ.
Бүлэг 1-ийн 3 дугаар хичээлд таны имэйл хаяг commit бүрт бичигддэг бөгөөд нийтэд нээлттэй repository-д бүх хүнд харагдана гэж анхааруулсан. Мөн GitHub үүнд зориулсан тусгай хаяг санал болгодог гэж амласан. Одоо тэр амлалтаа биелүүлье. Энэ хэсэг сонголт: хэрвээ имэйлээ нийтэд харагдах нь танд хамаагүй бол алгасаж болно.
Алхам 1: GitHub-ийн нууц хаягаа олох
GitHub-ийн баруун дээд буланд байгаа профайлын зургаа дараад Settings буюу тохиргоог сонгоно уу. Зүүн талын цэснээс Emails хэсгийг олно уу. Тэнд “Keep my email addresses private” буюу "Миний имэйл хаягуудыг нууцлах" гэсэн сонголт бий, түүнийг идэвхжүүлнэ үү. Идэвхжүүлсний дараа тэр сонголтын тайлбарт GitHub танд зориулсан тусгай хаягийг харуулна. Тэр нь дараах хэлбэртэй байна:
12345678+bat-dorj@users.noreply.github.comЭхний тоо таны бүртгэлийн дугаар, нэмэх тэмдгийн дараа таны username байна. Энэ хаяг руу илгээсэн имэйл хэнд ч хүрэхгүй, харин GitHub энэ хаягтай commit-уудыг таны бүртгэлтэй холбоно. Өөрөөр хэлбэл таны жинхэнэ имэйл нууц үлдэж, commit-ууд тань таных хэвээр харагдана.
[Зураг: Settings, Emails хэсэг, нууцлалын сонголт болон noreply хаяг]
Мөн ижил хуудсанд “Block command line pushes that expose my email” буюу "Миний имэйлийг ил гаргах push-ийг хаах" гэсэн сонголт байж болно. Үүнийг идэвхжүүлбэл та жинхэнэ имэйлтэй commit-ыг санамсаргүй илгээх үед GitHub татгалзана. Энэ бол нэмэлт хамгаалалт бөгөөд имэйлээ нууцалсан бол идэвхжүүлэхийг зөвлөж байна.
Алхам 2: Git-ийн тохиргоогоо шинэчлэх
Одоо таны компьютер дээрх Git-д цаашид энэ шинэ хаягийг ашиглахыг хэлнэ. VS Code-ийн terminal-д дараах command-ыг бичнэ үү, хаягийг өөрийн GitHub-ийн харуулсан хаягаар солиорой.
Command:
git config --global user.email "12345678+bat-dorj@users.noreply.github.com"Гаралт:
Чимээгүй, амжилттай. Бүлэг 1-ээс санаж байгаачлан шинэ утга хуучныг нь орлоно. Шалгая.
Command:
git config --global user.emailГаралт:
12345678+bat-dorj@users.noreply.github.comНэг шударга тэмдэглэл: энэ өөрчлөлт зөвхөн цаашдын commit-уудад хамаарна. Таны өмнө хийсэн commit-ууд, тэр дундаа зарлагын бүртгэлийн хоёр commit, хуучин имэйлтэй хэвээр үлдэнэ, учир нь commit бол бүрмөсөн бүртгэл юм. Хэрвээ “Block command line pushes” сонголтыг идэвхжүүлсэн бол дараагийн хичээлд хуучин commit-уудыг илгээхэд GitHub татгалзаж магадгүй. Тэр тохиолдлыг дараагийн хичээлийн түгээмэл алдаанууд хэсэгт хэрхэн шийдэхийг тайлбарлана.
Хүсвэл GitHub дээр хайлтын талбарт “python” гэж бичээд хайж үзээрэй. Python хэлний өөрийнх нь repository болох python/cpython-ийг олж нээгээрэй. Тэнд хэдэн арван мянган commit, хэдэн мянган хөгжүүлэгч, хэдэн арван жилийн түүх байна. Таны local дээр хийсэн commit, branch, merge-ийн ойлголтууд яг энэ төсөл дээр ч ижил ажилладаг гэдгийг ухаарахад сонирхолтой. Одоохондоо тэнд юуг ч ойлгох шаардлагагүй, зөвхөн харж танилцахад хангалттай.
Баталгаажуулах оньсого харагдахгүй байх. Зарим browser-ийн зар хаагч өргөтгөлүүд GitHub-ийн оньсогыг хааж, хуудсыг хоосон эсвэл гацсан мэт харагдуулдаг. Ийм тохиолдолд зар хаагчаа энэ сайтад түр унтрааж, хуудсыг дахин ачаална уу. Эсвэл өөр browser-оор бүртгүүлж болно.
Launch code ирэхгүй байх. Эхлээд имэйлийнхээ spam эсвэл promotions хэсгийг шалгаарай, GitHub-ийн захидал заримдаа тэнд ордог. Хэдэн минут хүлээсний дараа ч ирээгүй бол GitHub-ийн хуудсан дээрх кодыг дахин илгээх холбоосыг ашиглана уу. Мөн имэйл хаягаа зөв бичсэн эсэхээ шалгаарай, нэг үсгийн алдаа код огт ирэхгүй байх шалтгаан болдог.
Username эзэмшигдсэн байх. Түгээмэл нэрс аль хэдийн бусдын эзэмшилд байдаг. Нэр, овгийнхоо дарааллыг солих, зураас нэмэх, эсвэл нэрийнхээ товчлолыг ашиглаж үзээрэй. Тоо нэмэх шаардлагатай бол төрсөн он гэх мэт хувийн мэдээллээс зайлсхийж, утгагүй урт тоо биш, жижиг тоо хэрэглээрэй.
Имэйл аль хэдийн бүртгэлтэй байх. Хэрвээ GitHub тухайн имэйл аль хэдийн бүртгэлтэй гэж хэлбэл та урьд нь бүртгэл үүсгэсэн байж магадгүй. Шинэ бүртгэл үүсгэхийн оронд нэвтрэх хуудсан дээрх нууц үг сэргээх холбоосыг ашиглаж хуучин бүртгэлээ сэргээгээрэй. Нэг хүнд нэг бүртгэл байх нь portfolio-гийн хувьд ч илүү цэгцтэй.
GitHub бол Git-ийн цомгуудыг интернэтэд хадгалдаг вэб үйлчилгээ, таны цомгийн үүлэн дэх толь хувилбар юм. Git бол таны компьютер дээрх хэрэгсэл, GitHub бол Microsoft-ын эзэмшдэг үйлчилгээ бөгөөд Git GitHub-аас хамаардаггүй. GitHub-ийг ашиглах гурван шалтгаан бий: нөөц хуулбар, үзүүлэн буюу portfolio, хамтын ажиллагаа. Repository public эсвэл private байж болох бөгөөд үнэ төлбөргүй бүртгэлд аль аль нь багтана. Local repository таны компьютер дээр, remote repository GitHub дээр байдаг бөгөөд тэд автоматаар ижил болдоггүй: push нь local-аас remote руу, pull нь remote-оос local руу зургуудыг зөөдөг. Бүртгэл үүсгэхдээ мэргэжлийн username сонгож, git config-тэйгээ ижил имэйл ашигладаг. Хүсвэл GitHub-ийн noreply хаягаар жинхэнэ имэйлээ нууцалж болно.
Дараагийн хичээлд бид дээш чиглэсэн сумыг ажиллуулна. GitHub дээр хоосон repository үүсгэж, таны компьютерийг GitHub-тай холбож, зарлагын бүртгэлээ анх удаа push хийнэ. Хичээлийн төгсгөлд таны код browser-т, GitHub-ийн хуудсанд харагдах болно.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.