Ачааллж байна...
Бүлэг 1-д Git-ийн хамгийн том бэлэг бол туршилт хийх айдсыг арилгадаг явдал гэж хэлсэн. Одоо тэр амлалтаа биелүүлэх цаг ирлээ. Энэ хичээлд бид алдаагаа аюулгүй буцаах хамгийн түгээмэл хоёр арга замыг сурна. Эхнийх нь git restore бөгөөд commit хийгээгүй өөрчлөлтийг цуцалж, файлыг сүүлийн зургийн байдалд нь буцаадаг. Хоёр дахь нь git commit --amend бөгөөд дөнгөж хийсэн commit-ын алдааг, жишээ нь message-ийн үсгийн алдаа эсвэл нэмэхээ мартсан файлыг засдаг. Эдгээр хоёр хэрэгсэл өдөр тутмын алдааны дийлэнхийг шийддэг.
Мөн энэ хичээлд бид нэг чухал зүйлийг шударгаар ярина: Git юуг аварч чадах, юуг аварч чадахгүй вэ. Энэ хил хязгаарыг тодорхой мэдсэнээр та айх хэрэггүй газраа тайван, болгоомжлох хэрэгтэй газраа анхааралтай ажиллах болно. Хуучин commit-уудыг буцаах, түүхийг өөрчлөх гүнзгий аргууд бий боловч тэд энэ сургалтын хүрээнээс гадуур бөгөөд хичээлийн төгсгөлд тэдгээрийн нэрийг товч дурдана. Бид git-dadlaga фолдер дээрээ үргэлжлүүлэн ажиллана.
Зураач зураг зурахдаа эхлээд харандаагаар ноорог хийдэг. Ноорог дээр тэр чөлөөтэй туршдаг: зурааснууд нэмж, баллуураар арилгаж, дахин зурдаг. Харин бүтээл нь бэлэн болсон гэж үзэхэд гэрэл зураг авч цомогтоо хадгална. Хэрвээ ноорог нь эвдэрч, хэтэрхий бохир болбол зураач түүнийг шидээд, цомгийн сүүлийн зургаас дахин эхэлж болно. Энэ бол git restore: ноорогоо хаяад сүүлийн зураг дээрх байдал руу буцах.
Харин заримдаа зураг авсны дараа доор нь бичсэн тайлбартаа үсгийн алдаа олдоно, эсвэл нэг зүйлийг зурагт оруулахаа мартсанаа анзаарна. Тэгэхэд зураач тэр зургийг цомгоос гаргаад, засварласан шинэ зургаар солино. Энэ бол git commit --amend: сүүлийн зургийг сайжруулсан хувилбараар нь солих. Хоёр хэрэгсэл хоёулаа таны алдааг засдаг ч нэг нь ноорог дээр, нөгөө нь цомгийн хамгийн сүүлийн хуудас дээр ажилладаг.
Алхам 1: Эхлэх байдлаа шалгах
VS Code-д git-dadlaga фолдероо нээж, terminal-д бичнэ үү.
Command:
git statusГаралт:
On branch main
nothing to commit, working tree cleanАжлын фолдер цэвэр, бүх зүйл сүүлийн зурагтай таарч байна. Энэ бол туршилт эхлэхэд хамгийн тохиромжтой байдал.
Алхам 2: Файлыг зориуд эвдэх
Одоо таны кодыг эвдэрсэн мэт байдалд оруулъя. Бодит амьдрал дээр энэ нь өөрчлөлт хийж байгаад программ ажиллахаа больсон, эсвэл санамсаргүйгээр олон мөр устгасан үед тохиолддог. VS Code-д zarlaga.py-г нээгээд бүх агуулгыг нь устгаж, оронд нь дараах утгагүй мөрийг бичээд хадгална уу.
asdf jklCommand:
git statusГаралт:
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: zarlaga.py
no changes added to commit (use "git add" and/or "git commit -a")Энэ гаралтыг 2.2 дугаар хичээлээс таньж байгаа. Харин өнөөдөр бид хаалтан доторх хоёр дахь зөвлөгөөг анхаарна: “use “git restore <file>...” to discard changes in working directory”. Энэ нь "ажлын фолдер дахь өөрчлөлтийг хаяхын тулд git restore ашигла" гэсэн утгатай. “discard” гэдэг үг "хаях", "үл тоох" гэсэн утгатай. Git өөрөө танд гарцыг зааж байна.
Алхам 3: Буцаахаас өмнө юу хаях гэж байгаагаа харах
Буцаахаасаа өмнө нэг дадал гаргая: юу хаях гэж байгаагаа эхлээд харах.
Command:
git diffГаралт:
diff --git a/zarlaga.py b/zarlaga.py
index 9d3f7b5..0b5e2a1 100644
--- a/zarlaga.py
+++ b/zarlaga.py
@@ -1,4 +1 @@
-zarlaga = [5000, 12000, 3500, 8000]
-print("Нийт зарлага:", sum(zarlaga))
-print("Зарлагын тоо:", len(zarlaga))
-print("Хамгийн их зарлага:", max(zarlaga))
+asdf jklӨмнөх хичээлээс diff уншиж сурсан. “@@ -1,4 +1 @@” нь хуучин 4 мөр шинэ 1 мөр болсныг заана, тоо нь 1 бол Git “,1” хэсгийг товчилж бичдэггүй. Дөрвөн улаан мөр хасагдсан, нэг ногоон утгагүй мөр нэмэгдсэн. Энэ diff-ээс харахад бидэнд хадгалах ямар ч үнэ цэнтэй өөрчлөлт алга, хаяхад бүрэн аюулгүй. Жинхэнэ ажил дээр яг энэ алхмыг алгасах нь хамгийн том эрсдэл, учир нь эвдэрсэн мэт файлд заримдаа хадгалах ёстой хэдэн сайн мөр байдаг.
Алхам 4: Буцаах
Command:
git restore zarlaga.pyГаралт:
Чимээгүй, амжилттай. VS Code-д zarlaga.py-ийн цонх руу хараарай: утгагүй мөр алга болж, анхны дөрвөн мөр код буцаж иржээ. Шалгая.
Command:
git statusГаралт:
On branch main
nothing to commit, working tree cleanАжлын фолдер дахин цэвэр боллоо. Файл яг сүүлийн commit дээрх байдалдаа буцсан. python zarlaga.py гэж ажиллуулбал өмнөх шигээ ажиллана. Энэ бол Git-ийн хамгийн тайвшруулах мөчүүдийн нэг: та юу ч хийсэн байсан, сүүлийн зураг руугаа нэг command-аар буцаж болно.
Нэг чухал анхааруулга
Энд нэг зүйлийг маш тодорхой хэлэх ёстой. git restore-оор хаясан өөрчлөлт бүрмөсөн алга болдог. Тэр өөрчлөлт хэзээ ч commit хийгдээгүй тул Git-ийн цомогт байхгүй, Git түүнийг санахгүй. Windows-ийн Recycle Bin-д ч орохгүй. Энэ удаад бид утгагүй мөр хаясан тул ямар ч хохиролгүй. Харин жинхэнэ ажил дээр хоёр цагийн ажлаа санамсаргүйгээр restore хийвэл тэр ажил буцаж ирэхгүй. Ийм учраас Алхам 3-ын дадал маш чухал: restore хийхээсээ өмнө үргэлж git diff-ээр юу хаях гэж байгаагаа хараарай.
Устгасан файлыг буцааж авах
Энэ нь git restore-ийн хамгийн гайхалтай хэрэглээ байж болох юм. VS Code-ийн Explorer хэсэгт zarlaga.py дээр баруун товч дарж Delete сонгоод, файлыг бүрмөсөн устгана уу. Хэрвээ VS Code асуувал устгахыг баталгаажуулна уу.
Command:
git statusГаралт:
On branch main
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: zarlaga.py
no changes added to commit (use "git add" and/or "git commit -a")Энэ удаад “modified” биш “deleted:” буюу "устгагдсан" гэж байна. Git файл ажлын фолдерт алга болсныг анзаарсан ч цомогт түүний сүүлийн хувилбар хадгалагдсаар байна. Эхний зөвлөгөө “git add/rm” гэж өөрчлөгдсөн нь устгалтыг ч commit-д оруулж болдгийг хэлж байна. Харин хоёр дахь зөвлөгөө хэвээр: restore.
Command:
git restore zarlaga.pyГаралт:
Explorer хэсэгт zarlaga.py буцаж ирсэн байна, сүүлийн commit дээрх агуулгатайгаа. Устгасан файл ч Git-ийн хувьд зүгээр л нэг төрлийн өөрчлөлт бөгөөд цуцалж болдог. Гэхдээ энэ нь зөвхөн commit хийгдсэн файлд л хамаарна, доор үзнэ.
Ачааны талбайгаас буцаах: git restore --staged
Заримдаа файлыг git add хийсний дараа "энэ өөрчлөлт энэ commit-д орох ёсгүй" гэж ойлгодог. Энэ бол ачааны талбай руу буруу хайрцаг зөөсөнтэй адил: хайрцгийг агуулах руу буцааж авах хэрэгтэй, хаях хэрэггүй. VS Code-д tsalin.py-г нээгээд доор нь шинэ мөр нэмж хадгална уу.
python
print("Цалин")
print("Цалингийн тооцоо удахгүй")Command:
git add tsalin.py
git statusГаралт:
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: tsalin.pyӨөрчлөлт ногоон, ачааны талбайд байна. Хаалтан дотор Git буцаах аргыг аль хэдийн зааж байна: “git restore --staged <file>“ нь “unstage”, өөрөөр хэлбэл ачааны талбайгаас гаргах.
Command:
git restore --staged tsalin.py
git statusГаралт:
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: tsalin.py
no changes added to commit (use "git add" and/or "git commit -a")tsalin.py ногоон хэсгээс улаан хэсэг рүү шилжсэн. Энэ хоёр command-ын ялгааг сайн ойлгоорой. git restore --staged нь зөвхөн ачааны талбайгаас гаргадаг бөгөөд таны өөрчлөлт файлд хэвээрээ үлддэг. VS Code-д tsalin.py-г харвал нэмсэн мөр байсаар байгаа. Энэ бол аюулгүй үйлдэл, юу ч алдагдахгүй. Харин “--staged”-гүй git restore нь өөрчлөлтийг өөрийг нь хаядаг. Хэрвээ та энэ өөрчлөлтийг ч бас хаяхыг хүсвэл одоо git restore tsalin.py бичиж болно. Энэ хичээлийн үргэлжлэлд ажлын фолдер цэвэр байх ёстой тул хаяцгаая.
Command:
git restore tsalin.pyГаралт:
Бүх өөрчлөлтийг нэг дор буцаах
git add .-тэй адил git restore . нь одоогийн фолдер дахь хянагдаж буй бүх файлын commit хийгээгүй өөрчлөлтийг нэг дор хаядаг. Олон файл эвдэрсэн үед энэ нь хурдан арга. Гэхдээ энэ command нь хүчтэй тул хүчтэй анхаарал шаардана: олон файлын ажлыг нэгэн зэрэг бүрмөсөн устгана. Ашиглахаасаа өмнө заавал git status-ээр аль файлууд нөлөөлөгдөхийг, git diff-ээр юу алдагдахыг хараарай.
Git аварч чадахгүй зүйл: untracked файл
Нэг хил хязгаарыг тодорхой мэдэх ёстой. git restore зөвхөн Git-ийн мэддэг, өөрөөр хэлбэл дор хаяж нэг удаа commit хийгдсэн файлуудтай ажилладаг. Хэрвээ та шинэ файл үүсгээд, түүнийгээ хэзээ ч commit хийгээгүй байхдаа устгавал Git түүнийг буцааж чадахгүй. Учир нь тэр файл цомогт хэзээ ч ороогүй, Git түүний агуулгыг огт мэдэхгүй. Энэ нь бас эсрэгээрээ ажилладаг: git restore untracked файлуудад огт хүрэхгүй, тэдгээрийг устгахгүй. Энэ бол өмнөх хичээлүүдэд байнга давтсан “commit бол хамгаалалт” гэсэн санааны хамгийн тод нотолгоо юм.
git commit --amendMessage-ийн алдааг засах
Одоо шинэ өөрчлөлт хийгээд, commit message-д зориуд үсгийн алдаа гаргая. VS Code-д zarlaga.py-ийн төгсгөлд шинэ мөр нэмж хадгална уу.
python
print("Дундаж зарлага:", sum(zarlaga) / len(zarlaga))Command:
git add zarlaga.py
git commit -m "Add avrage expense"Гаралт:
[main 6c1d8b3] Add avrage expense
1 file changed, 1 insertion(+)Commit хийгдсэний дараа “avrage” гэж буруу бичсэнээ анзаарлаа, зөв нь “average”. Түүхэнд үсгийн алдаатай message үлдээх нь хэнд ч хор хүргэхгүй ч засах нь амархан.
Command:
git commit --amend -m "Add average expense"Гаралт:
[main 2a7f4c9] Add average expense
Date: Thu Oct 8 15:45:10 2026 +0800
1 file changed, 1 insertion(+)“--amend” нь "засварлах" гэсэн утгатай. Гаралтыг уншъя. Message зөв болсон. Шинэ мөр “Date:” гарч ирсэн нь энэ commit анх хэзээ хийгдсэнийг харуулж байна, Git анхны огноог хадгалсан. Хамгийн анхаарал татах зүйл бол hash: өмнө 6c1d8b3 байсан бол одоо 2a7f4c9 болжээ. Учир нь amend хуучин commit-ыг засварладаггүй, харин түүнийг цоо шинэ commit-оор солидог. Hash нь commit-ын бүх мэдээллээс, тэр дундаа message-ээс тооцоологддог тул message өөрчлөгдөхөд hash ч өөрчлөгддөг. Зүйрлэлд дурдсанчлан хуучин зургийг цомгоос гаргаад шинийг тавьсан.
Command:
git log --onelineГаралт:
2a7f4c9 (HEAD -> main) Add average expense
5d8c3e7 Add .gitignore and example env file
e41b9d6 Add new expense and show maximum
c7e0a52 Add salary script and notes
8b41d07 Show number of expenses
3f2a9c1 Add expense total scriptТүүхэнд алдаатай “Add avrage expense” огт харагдахгүй, оронд нь зөв message-тэй commit байна. Таны цомогт зургийн тоо нэмэгдээгүй, зөвхөн сүүлийнх нь солигдсон.
Нэмэхээ мартсан файлыг оруулах
Amend-ийн хоёр дахь түгээмэл хэрэглээ бол commit-д оруулахаа мартсан файлыг нэмэх явдал. Жишээ нь та дундаж тооцоолох функц нэмээд commit хийсний дараа data/notes.txt-д энэ тухай тэмдэглэл бичихээ мартсанаа санав гэж бодъё. VS Code-д data/notes.txt-г нээж, доор нь “Average expense added” гэсэн мөр нэмээд хадгална уу.
Command:
git add data/notes.txt
git commit --amend --no-editГаралт:
[main 9e3b5a1] Add average expense
Date: Thu Oct 8 15:45:10 2026 +0800
2 files changed, 2 insertions(+)“--no-edit” нь “message-ийг өөрчлөхгүй, хуучнаар нь үлдээ” гэсэн утгатай. Гаралтад “2 files changed” гэж байгаа нь одоо commit zarlaga.py ба data/notes.txt хоёуланг агуулж байгааг харуулна. Hash дахин өөрчлөгдсөн, учир нь агуулга нь өөрчлөгдсөн. Түүх нэг цэвэр commit-той үлдлээ: дундаж нэмсэн, тэмдэглэлээ ч шинэчилсэн. Хэрвээ та “-m” ч “--no-edit” ч бичихгүйгээр git commit --amend бичвэл Git хуучин message-тэй VS Code-ийн табыг нээж, засварлах боломж олгоно, 2.2 дугаар хичээлийн editor-ийн аргатай яг адилхан.
Amend-ийн нэг дүрэм
Amend нь түүхийг өөрчилдөг тул нэг дүрэм бий: зөвхөн хараахан хэнтэй ч хуваалцаагүй commit-ыг amend хийнэ. Одоо таны цомог зөвхөн таны компьютер дээр байгаа тул ямар ч commit-оо amend хийхэд аюулгүй. Харин Бүлэг 4-т commit-уудаа GitHub руу илгээж сурсны дараа аль хэдийн илгээсэн commit-ыг amend хийвэл таны компьютер дээрх түүх, GitHub дээрх түүх хоёр зөрчилдөнө. Энэ асуудлыг тэр үед дахин дурдах болно. Одоохондоо “amend бол дөнгөж хийсэн, хувийн commit-д зориулсан хэрэгсэл” гэж санахад хангалттай.
Одоо бид Бүлэг 2-ыг бүхэлд нь туулсан тул таны ажил ямар төлөвт байхдаа хэр аюулгүй вэ гэдгийг нэг дор цэгцэлье. Commit хийгдсэн зүйл бараг үргэлж аврагддаг. Тэр цомогт бүрмөсөн бүртгэгдсэн бөгөөд файлаа устгасан, эвдэрсэн ч git restore-оор буцааж авна. Ачааны талбайд байгаа зүйл ихэнхдээ аюулгүй, git restore --staged нь өөрчлөлтийг хаядаггүй, зөвхөн талбайгаас гаргадаг. Commit хийгээгүй өөрчлөлт нь эмзэг: таныг цуцлахаар шийдвэл бүрмөсөн алга болно. Харин untracked файлын тухай Git юу ч мэдэхгүй тул түүнийг аврах боломжгүй.
Энэ зураглалаас нэг энгийн бөгөөд хүчтэй дадал гарч ирж байна: байнга commit хий. Ажил тань утга бүхий жижиг алхам болгонд хүрэх бүрт зураг аваарай. Commit олон байх нь хэзээ ч асуудал биш, харин хоёр гурван өдрийн ажлыг нэг ч commit-гүй байлгах нь эрсдэлтэй. Мэргэжлийн хөгжүүлэгчид өдөрт хэдэн арван commit хийдэг. Commit бүр таны ажлыг хамгаалсан хадгалалтын цэг бөгөөд тоглоомын “save” цэгтэй адил: ойр ойрхон хадгалсан хүн бүтэлгүйтэхээс айдаггүй.
Git-ийн буцаах боломжууд энэ хичээлд үзсэнээс хамаагүй өргөн. Жишээ нь хэдэн долоо хоногийн өмнөх commit-ын өөрчлөлтийг түүхийг эвдэлгүйгээр цуцалдаг git revert, салааг өмнөх commit руу буцаадаг git reset, мөн устгасан мэт commit-уудыг ч олж авдаг git reflog гэх мэт хэрэгслүүд бий. Эдгээр нь хүчтэй бөгөөд зарим нь буруу хэрэглэвэл ажлыг устгаж чаддаг тул тэдгээрийг энэ сургалтын суурь түвшинд оруулаагүй. Одоохондоо мэдэх ёстой гол зүйл: Git-д commit хийсэн зүйл бараг хэзээ ч бүрмөсөн алдагддаггүй бөгөөд хэцүү нөхцөлд ч ихэнхдээ аврах арга байдаг.
Мөн интернэтээс Git-ийн тухай уншихад git checkout -- zarlaga.py гэх мэт хуучин хэллэг таарч болно. Энэ нь git restore zarlaga.py-тэй ижил үйлдэл бөгөөд Git 2019 онд илүү ойлгомжтой restore command-ыг нэмэхээс өмнө хэрэглэгддэг байсан. Хоёулаа ажилладаг, гэхдээ энэ сургалт шинэ, ойлгомжтой хэлбэрийг ашиглана.
Хүсвэл data фолдерт test.txt нэртэй шинэ файл үүсгэж, дотор нь хэдэн үг бичээд хадгалаарай. Дараа нь git restore data/test.txt бичиж юу болохыг хараарай. Git файлыг танихгүй тул алдаа өгнө, файл ч хэвээрээ үлдэнэ. Энэ нь untracked файлын тухай ярьсан хил хязгаарыг өөрийн нүдээр харах боломж юм. Дууссаны дараа тэр файлыг VS Code-д устгаж болно.
Файлын нэр буруу эсвэл Git-ийн мэдэхгүй файл.
error: pathspec 'data/test.txt' did not match any file(s) known to git“error” нь “fatal”-аас зөөлөн, гэхдээ command ажилласангүй гэсэн утгатай. Мессеж “data/test.txt зам Git-ийн мэддэг ямар ч файлтай таарсангүй” гэж байна. “known to git” буюу “Git-ийн мэддэг” гэдэг үгэнд түлхүүр бий. Хоёр шалтгаан байж болно: нэрийг буруу бичсэн, эсвэл файл хэзээ ч commit хийгдээгүй тул Git түүнийг мэдэхгүй. Эхнийх бол нэрээ Tab товчоор гүйцээж засна. Хоёр дахь бол Git энэ файлыг буцааж чадахгүй, учир нь буцаах хувилбар цомогт байхгүй.
Restore хийсэн ч VS Code-д хуучин агуулга харагдсаар байх. Хэрвээ та файлыг өөрчлөөд VS Code-д хадгалаагүй байхдаа terminal-д git restore хийвэл VS Code дотор хадгалаагүй таны текст үлдэж болно. Табын нэрний хажууд цагаан дугуй байвал энэ тохиолдол юм. Тэр табыг хаахад VS Code хадгалах эсэхийг асуухад “Don’t Save” сонгоорой, тэгээд файлыг дахин нээвэл restore хийсэн агуулга харагдана. Хамгийн энгийн дүрэм: git command бичихийн өмнө файлуудаа үргэлж хадгалсан байх.
Ctrl+Z ба git restore-ийг андуурах. Ctrl+Z нь VS Code-ийн хүчин чадал бөгөөд зөвхөн editor нээлттэй байх хугацаанд, таны сүүлийн алхмуудыг нэг нэгээр нь буцаадаг. VS Code-оо хаахад тэр түүх алга болно. git restore бол файлыг сүүлийн commit-ын байдалд шууд буцаадаг бөгөөд VS Code хаагдсан эсэхээс үл хамаарна. Хэдэн минутын өмнөх жижиг алдаанд Ctrl+Z тохиромжтой, харин "энэ файлын бүх өөрчлөлтийг хаяад сүүлийн зураг руу буцах" хэрэгтэй үед git restore зөв хэрэгсэл юм.
Amend-ийг өөр commit дээр хэрэглэх гэж оролдох. Amend зөвхөн хамгийн сүүлийн commit-ыг засдаг. Хэрвээ та гурван commit-ын өмнөх message-ийн алдааг засах гэж git commit --amend бичвэл тэр алдаатай commit биш, хамгийн сүүлийнх нь солигдоно. Хуучин commit-уудыг засах аргууд байдаг ч тэдгээр нь энэ сургалтын хүрээнээс гадуур. Ихэнх тохиолдолд хуучин message-ийн жижиг алдааг үлдээх нь хамгийн ухаалаг шийдэл, түүх төгс байх албагүй.
git restore <файл> commit хийгээгүй өөрчлөлтийг хаяж, файлыг сүүлийн commit-ын байдалд буцаадаг, устгасан файлыг ч буцааж авдаг. Хаясан өөрчлөлт бүрмөсөн алга болдог тул restore-ийн өмнө үргэлж git diff-ээр шалгана. git restore --staged <файл> файлыг ачааны талбайгаас гаргадаг бөгөөд өөрчлөлтийг хадгалдаг тул аюулгүй. git restore . бүх өөрчлөлтийг нэг дор хаядаг тул болгоомжтой хэрэглэнэ. Git зөвхөн commit хийгдсэн файлуудыг буцааж чадна, untracked файлыг аварч чадахгүй. git commit --amend -m "..." сүүлийн commit-ын message-ийг засдаг, git commit --amend --no-edit мартсан файлыг сүүлийн commit-д нэмдэг. Amend commit-ыг шинээр солидог тул hash өөрчлөгдөнө, тиймээс зөвхөн хуваалцаагүй commit-д хэрэглэнэ. Хамгийн чухал дадал: байнга commit хий, commit бүр таны ажлын хамгаалалт.
Ингээд Бүлэг 2 дууслаа. Та одоо цомог үүсгэх, зураг авах, түүх унших, хог нуух, алдаагаа буцаах бүрэн мөчлөгийг эзэмшлээ. Энэ бол Git-ийн өдөр тутмын ажлын бараг бүх хэсэг юм. Дараагийн Бүлэгт бид Git-ийн хамгийн хүчтэй санаа руу шилжинэ: branch буюу салаа зам. Бүлэг 3-ын эхний хичээлд ганц ч command бичилгүйгээр зэрэгцээ ертөнцийн зүйрлэлээр branch гэж юу болох, яагаад main салааг үргэлж тогтвортой байлгадгийг ойлгоно.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.