Git үндсэн ойлголтууд

zagdsuren.b
Unimedia Solutions

--

work hard, rest well

Оюутны ширээнээс салан ажлын байран дээр гарч ирэхэд юуны түрүүнд багтай ажиллах арга барилд суралцах хэрэгтэй болдог. Гэтэл ганцаараа ажиллаж ирсэн хүнд багтаа тааруулан хийж байгаа зүйлээ хуваалцахад GIT ашиглах шаардлагатай болно. Ашиглаад ирэхээр git гэдэг нь ойр мэт боловч хол зүйл болж таардаг. Яагаад ийм хол санагдаад байна вэ, хэрхэн дотно мэт санагдуулах вэ гэвэл үндсэн ойлголтуудыг үндэс суурьтай ойлгох шаардлагатай гэж бодном. Тиймээс энэ удаагийн бичлэгээрээ энэхүү сэдвийг сонголоо.

Git гэж юу вэ?

Багаар ажиллахад олон хэрэглэгч нь нэг файлтай ажиллах хэрэгтэй болдог. Заримдаа нэгэн зэрэг өөрчлөлт орох үе байх бөгөөд эдгээр өөрчлөлт нь хувилбар гэдэг зүйлд хадгалагдан нэгтгэгдэх боломж олгосон загвар байдаг. Энэхүү загварыг Version Control System (VCS) гэдэг. Энэ загвараар мэдээлэл удирддаг CVS, Subversion, Bazaar гэх мэт олон хэрэгслүүд байдаг боловч сүүлийн үед Git нь өргөнөөр хэрэглэгдэж байна. Git нь тархсан Version Control System (VCS) бөгөөд, хэрэглэгч бүр нь өөр дээрээ тухайн файлын бүх өөрчлөлтийн түүхийг аван хэрэглэдэг.

Git ийн ажиллагаа

Юуны түрүүнд Repository гэдэг ойлголт байдаг бөгөөд энэ нь файлын цуглуулгыг заасан мэдээлэл байдаг. Энэхүү мэдээлэлд файлын өөрчлөлтийн мэдээллүүд болон тэрхүү өөрчлөлтийн түүх нь хадгалагдаж байдаг. Энэхүү Repository мэдээлэл нь хянаж байгаа хавтасны дотор .git/ гэсэн хавтсанд хадгалагддаг. git clone эсвэл git init хийснээр тухайн хэрэглэгчийн төхөөрөмжид Repository мэдээлэл хуулан үүсгэж тухайн төхөөрөмжид хамаарах төлөвүүдийн мэдээллийг хадгалдаг.

Repository дээр ажиллахад дараах дөрвөн хэллэгийг ойлгох хэрэгтэй.

  • Working Directory буюу хэрэглэгчийн татаж авсан файлтай хэсэг
  • Staging Area буюу дотоод өөрчлөлт хянах хэсэг (commit өмнөх)
  • Local Repository буюу дотоод өөрчлөлт хянах хэсэг
  • Remote Repository буюу сервер талын өөрчлөлт хянах хэсэг

Файлын агуулгыг өөрчилснөөр тухайн файл нь зөвхөн Working Directory д өөрчлөлт нь байдаг. git add хийснээрээ тухайн өөрчлөлтийг Staging Areaруу хуулдаг. git commit хийснээр тухайн өөрчлөлт нь Local Repository руу хуулагддаг бөгөөд өдийг хүртэл хийсэн зүйлс нь зөвхөн тухайн хэрэглэгчийн төхөөрөмж дээр байдаг. Тэгвэл git push хийснээрээ сервер талд өөрчлөлт орж бусад хэрэглэгчдэд тухайн мэдээлэл очих боломжтой болдог байна.

git fetch нь сервэр дээрх хамгийн сүүлийн мэдээллийг Local Repository руу татаж ирдэг бол git merge нь Local Repository дээрх өөрчлөлтийг Working Directory руу оруулдаг. Тэгвэл git pull нь Remote Repository дээрх мэдээллийг шууд Working Directory руу татаж оруулдаг ба git fetch хийгээд git merge хийсэнтэй ижил үүрэг гүйцэтгэдэг.

Git ашиглах

Git нь програм бөгөөд ашиглах бол эхлээд төхөөрөмж дээрээ суулгасан байх шаардлагатай.

Git суулгах бол эндээс татаж болно.

Мөн суулгасныхаа дараагаар өөрийгөө таниулсан тохиргоог хийх шаардлагатай. Хэрэв анх удаа хэрэглэх гэж байгаа бол ssh key үүсгэх боловч хэрэв өмнө нь хэрэглэж байсан бол тухайн ssh key үргэлжлүүлэн ашиглах нь таныг өмнө нь хийж байсантай ижил хүн гэж тодорхойлоход хэрэгтэй.

Git тохиргооны талаар судлах бол эндээс үзэж болно.

Тохиргоогоо хийсэн бол үндсэн командуудыг ашиглан үзэж болох бөгөөд сервэртэй ажиллах команд ашиглахыг хүсвэл Gitlab эсвэл Github гэх мэт сервер дээр бүртгэл хийгээд ашиглах боломжтой.

Git branch гэж юу вэ?

Branch гэдэг нь тухайн нэг төлөвөөс хуулбарлан салаалсан хэсгүүдийг хэлэх бөгөөд хийгдсэн өөрчлөлтүүд нь тодорхой үйлдэл хийхгүй бол бие биедээ нөлөөлдөггүй. Үүнийг хэрэглэгч нь өөрийн хийх өөрчлөлтийг бусдын өөрчлөлттэй холихгүйн тулд ашигладаг бөгөөд ихэвчлэн develop гэсэн нэртэй хөгжүүлэлтэд зориулсан branch аас шинэ branch салгаад хийсэн өөрчлөлт нь боллоо гэж үзсэн үед эргээд develop руу нийлүүлдэг. master branch нь хэрэглэгдчидэд хүрэх хувилбар байдаг тул шууд өөрчлөлтийг оруулдаггүй.

Git stash гэж юу вэ?

Бид Working Directory дээр өөрчлөлт хийж байгаад сервер дээрх шинэ өөрчлөлтийг авч нийлүүлэх гэх мэт шаардлага гардаг. Гэвч Working Directory өөрчлөлттэй тул өөрчлөлтийг байхгүй болгохгүй болгох хэрэгтэй байдаг. Энэ үед git stash ийг өргөнөөр ашигладаг.

git stash нь stack байдлаар өөрчлөлтийн хуулбарыг git stash командаар хадгалдаг.

Stack ийн талаар эндээс уншиж болно.

Ингэж хадгалсан өөрчлөлтийг тухайн серверээс авсан шинэ өөрчлөлтийг оруулсны дараагаар ахин git stash pop командаар дуудан оруулж хуучин хийж байсан Working Directory төлөвтэй ойролцоо төлөвт шилжих боломжтой болдог.

Git ийн өргөн хэрэглээний командууд

  • git clone <repository url> : Remote Repository ийг хэрэглэгчийн төхөөрөмж дээр хуулан авч ирнэ.
  • git init <repository name> : Хэрэглэгчийн төхөөрөмж дээр шинэ хоосон Repository үүсгэнэ.
  • git checkout -b <branch name> : Local Repository дээр шинэ branch үүсгэнэ.
  • git checkout <branch name> : branch хооронд солино.
  • git branch <branch name> : branch хооронд солино.
  • git branch -d <branch name> : Local Repository дээр branch устгана.
  • git status : Одоо ажиллаж байгаа Working Directory дээрх төлөвийг харуулна.
  • git diff : Working Directory дээрх өөрчлөлтийг Staging Area дахь өөрчлөлттэй харьцуулан харуулна.
  • git add <file path> эсвэд git add . : Заагдсан байрлал эсвэл бүх өөрчлөлтийг Working Directory аас Staging Area руу нэмдэг.
  • git commit -m "<commit message>" : Staging Area дээрх мэдээллийг commit message өөрчлөлтийн түүхтэйгээр Local Repository руу оруулна.
  • git push : Local Repository дээрх мэдээллийг Remote Repository руу оруулна.
  • git push --set-upstream origin <branch name> : Remote Repository дээр холбогдох branch зааж өгнө. Энэ нь ихэвчлэн Local Repository дээр үүссэн шинэ branch үед зааж өгөх шаардлага гардаг.
  • git pull : Remote Repository дээрх мэдээллийг шууд Working Directory руу татаж оруулна.

Энэ удаад энэхүү бичлэгээ үүгээр дуусгая гэж бодож байна. Амжвал үргэлжлүүлээд ахисан төвшний хэрэглээний талаарх бичлэг оруулна аа.

Эх сурвалжууд

--

--