Ачааллж байна...
Бүлэг 1-д бид Git гэж юу болохыг ойлгож, түүнийг компьютер дээрээ суулгаж, өөрийгөө танилцуулсан. Одоо анх удаа Git-ийг жинхэнэ ажилд оруулах цаг ирлээ. Энэ хичээлд бид хоёрхон command сурна: git init болон git status. Эхнийх нь шинэ цомог нээх, хоёр дахь нь цомгийн одоогийн байдлыг асуух command юм. Тоо цөөхөн мэт санагдаж болох ч git status бол Git-ийн хамгийн их хэрэглэгддэг command бөгөөд мэргэжлийн хөгжүүлэгчид түүнийг өдөрт хэдэн арван удаа бичдэг. Тиймээс энэ хичээлийн жинхэнэ зорилго нь command цээжлэх биш, Git-ийн гаралтыг мөр мөрөөр нь тайван уншиж сурах дадлыг эхлүүлэх явдал. Энэ дадлыг бид сургалтын туршид хэрэглэнэ.
Энэ хичээлд бид зарлагын бүртгэлийн төсөл дээрээ шууд ажиллахгүй. Эхлээд тусгай дадлагын фолдер үүсгэж, түүн дээр айх юмгүйгээр туршина. Шинэ хэрэгслийг эхлээд хоосон талбай дээр туршаад, дараа нь чухал ажилдаа хэрэглэх нь аливаа ур чадварыг сурах ухаалаг арга юм. Бүлэг 3-ын төгсгөлд, Git-ийн суурийг бүрэн эзэмшсэний дараа, бид зарлагын бүртгэлээ Git-д оруулна.
Өмнөх хичээлүүдэд Git-ийг гэрэл зургийн цомогтой зүйрлэсэн. Одоо энэ зүйрлэлийг нэг алхам урагшлуулъя. Таны төслийн фолдер бол зургийн обьект, өөрөөр хэлбэл таны зураг авах гэж буй өрөө юм. Харин цомог нь тэр өрөөний шургуулганд нуугдаж хадгалагддаг. git init гэдэг нь шинэ, хоосон цомог худалдаж аваад, тэр өрөөний шургуулганд хийхтэй адил. Цомог анх хоосон байна, нэг ч зураг байхгүй. Гэхдээ тэр мөчөөс эхлэн өрөөнд зураг авах бүх бэлтгэл хангагдсан.
Энэ цомгийг Git-ийн хэлээр repository гэж нэрлэдэг бөгөөд хөгжүүлэгчид товчлоод repo гэж хэлэх нь түгээмэл. Repository гэдэг үг англиар агуулах, хадгалах газар гэсэн утгатай. Тиймээс “repository үүсгэх” гэдэг нь "энэ фолдерыг Git-ийн хяналтад оруулах, түүхийг нь хадгалж эхлэх" гэсэн утгатай. Нэг фолдер нэг repository, нэг цомогтой байна. Таны компьютер дээр хэдэн ч төсөл байж болох бөгөөд тус бүр өөрийн бие даасан цомогтой байна.
Алхам 1: Дадлагын фолдер үүсгэх
VS Code-оо нээгээд шинэ terminal нээнэ үү. Эхлээд өөрийн хэрэглэгчийн үндсэн фолдер руу очно. PowerShell-д ~ тэмдэг нь таны хэрэглэгчийн фолдерыг илэрхийлдэг, жишээ нь C:\Users\Bat.
Command:
cd ~Гаралт:
Чимээгүй байдал бол амжилт, Бүлэг 1-ээс санаж байгаа байх. Одоо git-dadlaga нэртэй шинэ фолдер үүсгэнэ.
Command:
mkdir git-dadlagaГаралт:
Directory: C:\Users\Bat
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026-10-08 15:02 git-dadlagaЭнэ гаралтыг уншъя. “Directory: C:\Users\Bat” нь шинэ фолдер хаана үүссэнийг харуулж байна, таны хувьд Bat-ын оронд өөрийн хэрэглэгчийн нэр байна. Доорх хүснэгтэд шинээр үүссэн зүйлийн мэдээлэл байна. Mode баганын “d” үсэг нь directory буюу фолдер гэсэн утгатай. LastWriteTime нь үүссэн огноо, цаг бөгөөд таны компьютерийн тохиргооноос хамаараад өөр хэлбэрээр харагдаж болно. Name баганад git-dadlaga гэсэн нэр байгаа нь фолдер амжилттай үүссэнийг баталж байна. Одоо тэр фолдер руугаа орно.
Command:
cd git-dadlagaГаралт:
Одоо таны terminal-ын мөрийн эхэнд PS C:\Users\Bat\git-dadlaga> гэсэн бичиг харагдах ёстой. Энэ бол таны одоо хаана байгааг үргэлж харуулдаг хаяг юм. Git-тэй ажиллахдаа энэ хаягийг байнга анзаарах дадалтай болоорой, учир нь Git-ийн command бүр таны одоо байгаа фолдер дээр ажилладаг.
Алхам 2: Git-д хараахан хамаарахгүй байгааг харах
Цомог нээхээс өмнө нэг сонирхолтой туршилт хийе. Git-ээс энэ фолдерын байдлыг асууя.
Command:
git statusГаралт:
fatal: not a git repository (or any of the parent directories): .gitЭнэ бол бидний сургалтын туршид дахин дахин тааралдах алдааны мессежүүдийн нэг тул сайн танилцъя. “fatal” гэдэг үг англиар "үхлийн" гэж орчуулагддаг тул айдас төрүүлж магадгүй. Гэхдээ Git-ийн хэлээр энэ нь зүгээр л “command-ыг цааш үргэлжлүүлэх боломжгүй тул зогслоо” гэсэн утгатай. Юу ч эвдрээгүй, ямар ч файл устаагүй. “not a git repository” нь "энэ бол Git-ийн repository биш" гэсэн утгатай. Хаалтан доторх “(or any of the parent directories)” нь "мөн дээд талын ямар ч фолдер repository биш" гэсэн үг. Төгсгөлийн “.git” нь Git яг юу хайгаад олоогүйг хэлж байна: .git нэртэй фолдер. Энэ мессеж маш үнэн: бид цомог хараахан нээгээгүй байна.
Алхам 3: Цомог нээх
Одоо repository үүсгэе.
Command:
git initГаралт:
Initialized empty Git repository in C:/Users/Bat/git-dadlaga/.git/Энэ ганц мөрийг уншъя. “Initialized” нь "эхлүүлсэн", "бэлтгэсэн" гэсэн утгатай. “empty Git repository” нь "хоосон Git repository", өөрөөр хэлбэл шинэ хоосон цомог. “in C:/Users/Bat/git-dadlaga/.git/” нь тэр цомог хаана үүссэнийг заана. Замын тэмдэгт Windows-ийн ердийн \ биш, / байгааг анзаараарай. Git анх Linux дээр бүтээгдсэн тул замыг Linux-ийн хэв маягаар харуулдаг бөгөөд энэ бол хэвийн зүйл. Замын хамгийн сүүлийн хэсэг .git гэж төгссөн нь чухал: Git таны фолдер дотор .git нэртэй шинэ фолдер үүсгэжээ. Тэр бол цомог өөрөө юм.
Алхам 4: Нуугдмал .git фолдерыг харах
Хэрвээ та одоо фолдерынхоо агуулгыг ердийн аргаар харвал хоосон мэт харагдана.
Command:
lsГаралт:
Юу ч харагдсангүй. Учир нь .git фолдер нуугдмал буюу hidden фолдер юм. Windows болон Git үүнийг санаатайгаар нуудаг, ингэснээр та өдөр тутмын ажилдаа түүнийг санамсаргүй өөрчлөх, устгахаас сэргийлнэ. Нуугдмал зүйлсийг харахын тулд -Force гэсэн нэмэлт ашиглана.
Command:
ls -ForceГаралт:
Directory: C:\Users\Bat\git-dadlaga
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--h-- 2026-10-08 15:03 .gitОдоо .git фолдер харагдаж байна. Mode баганыг анхааралтай хараарай: “d--h--” гэж бичигдсэн байна. “d” нь фолдер, харин “h” нь hidden буюу нуугдмал гэсэн утгатай. Энэ нь Windows-ийн файл хөтчид ч, анхдагчаар, харагдахгүй гэсэн үг.
Энэ .git фолдерын тухай хоёр зүйлийг тодорхой санаарай. Нэгдүгээрт, таны төслийн бүх түүх, бүх commit, бүх тохиргоо яг энэ фолдерт хадгалагдана. Хэрвээ та .git фолдерыг устгавал таны файлууд хэвээр үлдэх ч бүх түүх бүрмөсөн алга болно, яг л цомгоо галд шатаахтай адил. Хоёрдугаарт, .git фолдер доторх файлуудыг гараар хэзээ ч засах шаардлагагүй. Түүнтэй зөвхөн git command-уудаар дамжуулан харилцдаг. Иймээс .git фолдер байгааг мэдэж, түүнийг хүндэлж, тайван орхих нь хамгийн зөв хандлага юм.
Алхам 5: Хоосон repository-ийн байдлыг унших
Одоо Алхам 2-ын command-ыг дахин бичье.
Command:
git statusГаралт:
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)Энэ удаад “fatal” алдааны оронд Git бидэнд тайлан өглөө. Энэ бол git status-ийн анхны жинхэнэ гаралт тул мөр бүрийг анхааралтай уншъя. “On branch main” нь "та main салаан дээр байна" гэсэн утгатай. Энэ бол Бүлэг 1-ийн 3 дугаар хичээлд тохируулсан main нэр юм. Branch-ийн тухай Бүлэг 3-т бүрэн үзнэ, одоохондоо зөвхөн "би main дээр байна" гэдгийг мэдэхэд хангалттай. “No commits yet” нь "одоохондоо нэг ч commit байхгүй", зүйрлэлээр бол цомогт нэг ч зураг алга. Сүүлийн мөр “nothing to commit” нь “commit хийх зүйл алга” гэсэн утгатай. Хаалтан дотор Git бидэнд дараагийн алхмыг зөвлөж байна: "файл үүсгэх эсвэл хуулах, дараа нь git add ашиглан хянах".
Энд маш чухал зүйл ажиглагдаж байна: Git-ийн гаралт зөвхөн мэдээлэл бус, ихэнхдээ дараагийн алхмын зөвлөгөөг ч агуулдаг. Хаалтан доторх зааврууд нь Git өөрөө таныг чиглүүлж байгаа хэлбэр юм. Тиймээс Git-ийн гаралтыг хэзээ ч алгасаж болохгүй, учир нь хариулт ихэнхдээ яг тэнд бичигдсэн байдаг.
Алхам 6: Анхны файл нэмж, өөрчлөлтийг харах
Одоо фолдерт файл нэмье. Terminal-д дараах command-ыг бичвэл одоогийн фолдер VS Code-д нээгдэнэ.
Command:
code .Энд “.” цэг нь "одоогийн фолдер" гэсэн утгатай. VS Code шинэ цонхонд git-dadlaga фолдерыг нээх бөгөөд хэрвээ “Do you trust the authors of the files in this folder?” гэж асуувал энэ бол таны өөрийн фолдер тул “Yes, I trust the authors” дарна уу. Зүүн талын Explorer хэсэгт шинэ файл үүсгэх icon дарж, zarlaga.py нэртэй файл үүсгэнэ үү. Дотор нь дараах кодыг бичээд хадгална уу.
python
zarlaga = [5000, 12000, 3500]
print("Нийт зарлага:", sum(zarlaga))Файлыг VS Code-д үүсгэж байгаагийн шалтгаан бий. PowerShell-ээр кирилл үсэгтэй текстийг файл руу бичихэд кодчилол эвдэрч болдог бол VS Code файлыг үргэлж зөв кодчилолоор хадгална. Одоо VS Code-ийн terminal-д, git-dadlaga фолдер дотроо байгаа эсэхээ шалгаад, git status-ийг дахин бичнэ үү.
Command:
git statusГаралт:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
zarlaga.py
nothing added to commit but untracked files present (use "git add" to track)Эхний хоёр мөр өмнөхтэй адил: main салаан дээр, commit алга. Харин одоо “Untracked files:” буюу "хянагдаагүй файлууд" гэсэн шинэ хэсэг гарч ирлээ. Untracked гэдэг нь “Git энэ файлыг харж байна, гэхдээ түүнийг хянахгүй байна” гэсэн утгатай. Өөрөөр хэлбэл файл өрөөнд байгаа ч Git-д "энэ файлыг цомогтоо оруулаарай" гэж хараахан хэлээгүй байна. Хаалтан дотор Git дахин зөвлөж байна: “commit-д оруулахын тулд git add <file> ашигла”. Доор нь zarlaga.py нэр догол мөртэйгээр, ихэнх terminal-д улаан өнгөөр харагдана. Улаан өнгө нь алдааны тэмдэг биш, харин "энэ файлын талаар та хараахан шийдвэр гаргаагүй байна" гэсэн анхааруулга юм. Сүүлийн мөр “commit-д юу ч нэмэгдээгүй, гэхдээ хянагдаагүй файл байна” гэж нэгтгэн дүгнэжээ.
git status-ийг унших гурван асуултОдоо бид git status-ийн хэд хэдэн гаралтыг уншлаа. Цаашид энэ command-ын гаралт улам баялаг болох тул түүнийг уншихдаа тогтсон гурван асуултыг өөрөөсөө асуухыг санал болгож байна. Нэгдүгээрт, би аль branch дээр байна вэ? Хариулт нь эхний мөрөнд үргэлж бичигдсэн байдаг. Хоёрдугаарт, ямар файлууд өөрчлөгдсөн эсвэл шинэ байна вэ? Хариулт нь Untracked, хожим Changes гэх мэт гарчигтай хэсгүүдэд бичигдэнэ. Гуравдугаарт, Git надад дараа нь юу хийхийг зөвлөж байна вэ? Хариулт нь хаалтан доторх зааврууд болон сүүлийн мөрөнд байдаг.
Энэ гурван асуулт git status-ийн аль ч гаралтыг ойлгомжтой болгоно. Эхэндээ ухамсартайгаар асууж байгаад, хэдэн долоо хоногийн дараа нүд тань автоматаар тэдгээрийг хайдаг болно. Энэ бол мэргэжлийн хөгжүүлэгчид терминалын гаралтыг хэдхэн секундэд уншдаг нууц юм.
Хоёр дахь файл нэмэх. VS Code-д tsalin.py нэртэй өөр нэг файл үүсгэж, дотор нь print("Цалин") гэж бичээд хадгална уу. git status бичвэл Untracked files хэсэгт хоёр файл цагаан толгойн дарааллаар харагдана.
Untracked files:
(use "git add <file>..." to include in what will be committed)
tsalin.py
zarlaga.pyGit фолдер дахь шинэ файл бүрийг автоматаар анзаарч байгааг эндээс харж болно. Танаас ямар нэг тохиргоо шаардахгүйгээр Git өрөөнд юу байгааг байнга мэдэж байдаг.
Дэд фолдер дахь файл. VS Code-д data нэртэй шинэ фолдер үүсгээд, түүн дотор notes.txt файл үүсгэж, дурын текст бичээд хадгална уу. git status бичвэл дараахтай төстэй харагдана.
Untracked files:
(use "git add <file>..." to include in what will be committed)
data/
tsalin.py
zarlaga.pyGit дотор нь байгаа notes.txt-ийг биш, data/ фолдерыг бүхэлд нь нэг мөрөөр харуулж байгааг анзаараарай. Фолдерын нэрийн ард / тэмдэг байгаа нь энэ бол файл биш, фолдер гэдгийг заана. Git товч байхын тулд "энэ фолдер бүхэлдээ шинэ" гэж нэгтгэж хэлж байна. Тэр фолдерын доторх зүйлийг Git мэдэж байгаа, зүгээр л дэлгэцийг дүүргэхгүйн тулд хураангуйлж байгаа юм.
Хоосон фолдер. Одоо VS Code-д empty нэртэй хоосон фолдер үүсгээд, дотор нь юу ч бүү хийгээрэй. git status бичвэл гайхмаар зүйл харагдана: empty фолдер жагсаалтад огт гарахгүй. Учир нь Git зөвхөн файлуудыг хянадаг, фолдерыг бие даасан зүйл гэж үздэггүй. Фолдер нь Git-ийн хувьд зөвхөн файлын замын нэг хэсэг юм. Хоосон фолдерт хянах файл байхгүй тул Git түүнийг тоохгүй. Энэ нь хожим "би фолдер үүсгэсэн мөртлөө яагаад GitHub дээр алга вэ" гэсэн түгээмэл асуултын хариулт болно.
Дэд фолдероос status асуух. Terminal-д data фолдер руу орно уу.
Command:
cd data
git statusЭнэ удаад “fatal: not a git repository” алдаа гарахгүй, харин Git ердийн тайлангаа өгнө. Энэ бол алдааны мессеж дэх “(or any of the parent directories)” хэсгийн утга юм. Git эхлээд одоогийн фолдерт .git хайдаг, олохгүй бол дээд фолдер руу, түүнээс дээш гэх мэтээр хайсаар байдаг. data фолдерт .git байхгүй ч дээд талын git-dadlaga-д байгаа тул Git түүнийг олж, бүхэл repository-ийн тайланг өгнө. Дуусмагц cd .. бичиж git-dadlaga руугаа буцна уу. Хоёр цэг “..” нь "нэг шат дээш" гэсэн утгатай.
Хүсвэл цомгийн дотор юу байдгийг сониуч зангаар нэг харж болно. git-dadlaga фолдер дотроо ls .git гэж бичвэл .git фолдерын агуулга харагдана. Тэнд HEAD, config, description гэсэн файлууд, мөн hooks, info, objects, refs гэсэн фолдерууд байна. objects фолдерт хожим таны commit-ын зургууд хадгалагдах бөгөөд HEAD файл нь "та одоо хаана байна" гэсэн тэмдэглэгээг хадгална. Энэ бол зөвхөн харах аялал тул тэнд байгаа юуг ч бүү өөрчлөөрэй, мөн эдгээрийг ойлгох шаардлагагүй.
“fatal: not a git repository (or any of the parent directories): .git”
fatal: not a git repository (or any of the parent directories): .gitЭнэ бол энэ сургалтад хамгийн их тааралдах алдаа бөгөөд шалтгаан нь бараг үргэлж нэг: та буруу фолдерт байна. Repository-оос гадуур, эсвэл огт өөр фолдерт байхдаа git command бичсэн байна гэсэн үг. Эхлээд terminal-ын мөрийн эхэнд бичигдсэн хаягийг хараарай. Хэрвээ итгэлгүй байвал pwd гэж бичихэд одоогийн байршил тань тодорхой харагдана. Дараа нь cd command-аар зөв фолдер руугаа очоод дахин оролдоно уу. Хэрвээ зөв фолдерт байгаа хэрнээ энэ алдаа гарч байвал тэр фолдерт git init хараахан хийгээгүй байх нь тодорхой.
git init-ийг буруу газар хийх. Энэ бол анхлан суралцагчдын маш түгээмэл, анзаарагдахгүй алдаа. Жишээ нь cd git-dadlaga command-ыг мартаад шууд git init бичвэл таны бүх хэрэглэгчийн фолдер C:\Users\Bat нэг том repository болно. Үүний шинж нь git status бичихэд Desktop/, Documents/, Downloads/ зэрэг таны бүх фолдер Untracked жагсаалтад урт урт гарч ирэх явдал юм. Санаа зовох хэрэггүй, ямар ч файл гэмтээгүй. Шийдэл нь тэр буруу газар үүссэн .git фолдерыг устгах юм. Буруу repository-ийн үндсэн фолдерт, жишээ нь C:\Users\Bat-д байгаа эсэхээ pwd-ээр ЗААВАЛ шалгасны дараа дараах command-ыг бичнэ үү.
Remove-Item -Recurse -Force .gitЭнэ command нь зөвхөн тухайн фолдер дахь .git-ийг, өөрөөр хэлбэл буруу үүссэн хоосон цомгийг устгана, таны файлуудад хүрэхгүй. Гэхдээ энэ command-ыг жинхэнэ, түүхтэй төслийн фолдерт хэзээ ч бүү ажиллуулаарай, учир нь тэр төслийн бүх түүх алга болно. Тиймээс энэ command-ыг ашиглахаас өмнө үргэлж байршлаа шалгах нь хамгийн чухал дүрэм юм.
git init-ийг хоёр дахин хийх. Хэрвээ та аль хэдийн repository болсон фолдерт git init-ийг дахин бичвэл дараах мессеж гарна.
Reinitialized existing Git repository in C:/Users/Bat/git-dadlaga/.git/“Reinitialized existing” нь "байгаа repository-г дахин эхлүүлсэн" гэсэн утгатай. Нэрнээс нь айлтай санагдаж болох ч энэ үйлдэл ямар ч хор хохиролгүй. Таны түүх, commit-ууд устахгүй, Git зүгээр л "энэ цомог аль хэдийн байна" гэдгийг баталж байна.
Repository гэдэг нь Git-ийн хяналтад орсон фолдер, зүйрлэлээр бол өрөөний шургуулганд хадгалагддаг цомог юм. git init нь тухайн фолдерт шинэ, хоосон repository үүсгэж, нуугдмал .git фолдерыг бий болгоно. .git фолдерт бүх түүх хадгалагддаг тул түүнийг гараар засах, устгах ёсгүй. git status нь repository-ийн одоогийн байдлыг тайлагнадаг бөгөөд түүнийг гурван асуултаар уншина: аль branch дээр байна, ямар файл өөрчлөгдсөн эсвэл шинэ байна, Git юу хийхийг зөвлөж байна. Шинэ файлууд эхлээд untracked буюу хянагдаагүй төлөвт байдаг. Git зөвхөн файлуудыг хянадаг тул хоосон фолдер харагдахгүй. “fatal: not a git repository” алдаа бараг үргэлж буруу фолдерт байгааг илтгэдэг.
Дараагийн хичээлд бид Git-ийн хамгийн чухал мөчлөг болох add ба commit-ыг сурна. Untracked файлуудыг staging area буюу ачааны талбай руу хэрхэн оруулж, тэндээс анхны зургаа буюу анхны commit-оо хэрхэн авахыг алхам алхмаар харна. Мөн ирээдүйн өөртөө ойлгомжтой байх commit message хэрхэн бичихийг ярилцана.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.