Ачааллж байна...
Түвшин 1-ийн төгсгөлд ирлээ. Сүүлийн арван нэгэн хичээлд бид Git-ийн суурийг дадлагын фолдер дээр нэг нэгээр нь сурсан: repository үүсгэх, add ба commit, түүх унших, .gitignore, буцаах, branch, merge, conflict. Одоо бүгдийг нь нэг бодит төсөл дээр нэгтгэх цаг болжээ. Энэ удирдлагатай бүтээлд бид өмнөх сургалтын зарлагын бүртгэлийн программыг Git-ийн хяналтад оруулна. Энэ бол даалгавар биш, бид хамтдаа алхам алхмаар хийх ажил юм. Алхам бүрийн дараа шалгах цэг бий бөгөөд тэнд таны дэлгэцэнд юу харагдах ёстойг тодорхой бичсэн.
Энэ төсөл цаашид бидний гол материал болно. Түвшин 2-т бид түүнийг GitHub дээр нийтэлж, Түвшин 3-т тест нэмнэ. Тиймээс өнөөдрийн ажил зөвхөн дасгал биш, таны portfolio-ийн эхлэл юм. Ажлын хугацаа 30-40 минут орчим. Хичээлийн төгсгөлд бүх command-ыг дарааллаар нь нэгтгэсэн жагсаалт бий тул ирээдүйд шинэ төслөө Git-д оруулахдаа түүнийг заавар болгон ашиглаж болно.
Өмнөх сургалтын төгсгөлд таны зарлагын бүртгэл олон файлтай Python төсөл болсон байх ёстой. Таны хувилбар хэдэн файлтай, файлууд ямар нэртэй байгаа нь хамаагүй. Энэ хичээлийн алхам бүр ямар ч олон файлтай Python төсөлд ажилладаг. Жишээнүүдэд бид доорх энгийн бүтцийг ашиглана. Таны төсөл өөр нэртэй файлуудтай бол жишээн дэх нэрсийг өөрийнхөөрөө солиод дагаарай.
expense-tracker/
main.py
storage.py
report.py
data/
expenses.json
venv/Хэрвээ төсөл тань байхгүй бол
Хэрвээ та өмнөх сургалтын файлуудыг хадгалаагүй бол санаа зовох хэрэггүй. Доорх жижиг хувилбарыг хэдэн минутын дотор үүсгэж, энэ хичээлийг бүрэн дагаж болно. Өөрийн хэрэглэгчийн фолдерт expense-tracker нэртэй фолдер үүсгээд VS Code-д нээж, дараах файлуудыг VS Code-д үүсгэнэ үү. Хэрвээ өөрийн төсөл тань байгаа бол энэ хэсгийг алгасаарай.
python
from storage import load_expenses
from report import total
expenses = load_expenses("data/expenses.json")
print("Нийт зарлага:", total(expenses))python
import json
def load_expenses(path):
with open(path, encoding="utf-8") as f:
return json.load(f)python
def total(expenses):
return sum(e["amount"] for e in expenses)data/expenses.json:
json
[
{"amount": 5000, "category": "хоол"},
{"amount": 12000, "category": "унаа"},
{"amount": 3500, "category": "хоол"}
]Дараа нь terminal-д python -m venv venv бичиж виртуал орчин үүсгэнэ үү. Ингээд таны төсөл энэ хичээлд бэлэн боллоо.
VS Code-д File цэснээс Open Folder сонгоод зарлагын бүртгэлийн фолдероо нээнэ үү. Дараа нь Terminal, New Terminal гэж шинэ terminal нээнэ. VS Code terminal-ыг нээлттэй фолдерт автоматаар эхлүүлдэг тул cd бичих шаардлагагүй. Terminal-ын хаягаар зөв фолдерт байгаа эсэхээ шалгаарай.
Command:
pwdГаралт:
Path
----
C:\Users\Bat\expense-tracker“pwd” нь “print working directory” буюу "одоогийн фолдерыг хэвлэ" гэсэн утгатай. Таны зам өөр байх бөгөөд хамгийн гол нь зам таны төслийн фолдероор төгсөж байх явдал. Хэрвээ өөр газар байвал cd-ээр төслийнхөө фолдер руу очно уу. 2.1 дүгээр хичээлд ярьсан "буруу газар git init хийх" алдаанаас сэргийлэх хамгийн чухал алхам бол яг энэ.
Шалгах цэг: Зам таны зарлагын бүртгэлийн фолдероор төгсөж байна.
Git-д оруулахаасаа өмнө төсөл ажиллаж байгааг шалгая. Ингэснээр анхны зураг тань ажилладаг хувилбарыг хадгална. Хэрвээ таны төсөл гадны package ашигладаг бол эхлээд venv-ээ идэвхжүүлнэ үү, өмнөх сургалтаас санаж байгаа .\venv\Scripts\Activate.ps1 command-аар.
Command:
python main.pyГаралт:
Нийт зарлага: 20500Таны гаралт таны программын дагуу өөр байна. Хамгийн гол нь программ алдаагүй ажиллаж байгаа явдал.
Шалгах цэг: Программ алдаагүй ажиллаж байна. Хэрвээ ModuleNotFoundError гарвал venv идэвхжээгүй эсвэл package суугаагүй байна, өмнөх сургалтын venv-ийн хичээлийг санаарай.
Command:
git statusГаралт:
fatal: not a git repository (or any of the parent directories): .gitЭнэ мессежийг 2.1 дүгээр хичээлээс сайн таньж байгаа. Энэ удаад бид яг энэ хариуг хүлээж байсан: фолдер хараахан repository биш, дээд талын ямар ч фолдер ч биш. Энэ нь git init хийхэд аюулгүй гэдгийг баталж байна.
Хэрвээ энэ мессежийн оронд “On branch ...” гэсэн ердийн гаралт гарвал хоёр боломж бий. Нэгдүгээрт, та өмнө нь энэ фолдерт git init хийсэн байж болно, тэгвэл Алхам 4-ийг алгасаарай. Хоёрдугаарт, таны төсөл аль нэг repository-ийн дотор, жишээ нь git-dadlaga фолдерын дотор байрлаж болно. Энэ тохиолдолд төслөө repository-оос гадуур, жишээ нь хэрэглэгчийн фолдерынхоо шууд доор зөөгөөд дахин эхлээрэй, учир нь repository дотор repository байлгах нь асуудал үүсгэдэг.
Шалгах цэг: “fatal: not a git repository” гарсан.
Command:
git initГаралт:
Initialized empty Git repository in C:/Users/Bat/expense-tracker/.git/Таны зарлагын бүртгэлд одоо хоосон цомог бий. Энэ command таны ямар ч файлыг өөрчлөөгүй, зөвхөн нуугдмал .git фолдер нэмсэн гэдгийг санаарай. Тиймээс энэ алхам бүрэн аюулгүй.
Шалгах цэг: “Initialized empty Git repository” гарсан бөгөөд зам таны төслийн фолдероор төгсөж байна.
Command:
git statusГаралт:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
__pycache__/
data/
main.py
report.py
storage.py
nothing added to commit but untracked files present (use "git add" to track)Таны жагсаалт таны файлуудыг харуулна. Python 3.12 ба түүнээс хуучныг ашиглаж байгаа бол venv/ ч бас харагдана. Энэ жагсаалтыг анхааралтай уншиж, мөр бүрийн тухай "энэ цомогт орох ёстой юу?" гэж өөрөөсөө асуугаарай. Python файлууд орох ёстой, тэд таны код. pycache/ орох ёсгүй, тэр бол түр файлууд. venv/ орох ёсгүй. data/ фолдерын тухай тусад нь бодох хэрэгтэй бөгөөд түүнийг дараагийн алхамд ярина.
Шалгах цэг: main салаан дээр, “No commits yet”, таны төслийн файлууд untracked.
VS Code-ийн Explorer хэсэгт төслийн үндсэн фолдерт, main.py-тэй нэг түвшинд .gitignore нэртэй шинэ файл үүсгэнэ үү. 2.4 дүгээр хичээлд бүтээсэн .gitignore-ийг энд яг хэвээр нь ашиглана.
# Python cache
__pycache__/
*.pyc
# Virtual environments
venv/
.venv/
# Secrets
.env
# Windows
Thumbs.db
desktop.iniХадгалаад шалгая.
Command:
git statusГаралт:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
data/
main.py
report.py
storage.py
nothing added to commit but untracked files present (use "git add" to track)pycache/ алга болж, .gitignore шинээр гарч ирлээ. Энэ бол 2.4 дүгээр хичээлд үзсэнтэй яг ижил дүр зураг.
Таны өгөгдлийн файлын тухай шийдвэр
Одоо data/ фолдерын тухай бодъё. Тэнд таны программын хадгалсан зарлагууд байна. Хэрвээ та программаа өөрийн жинхэнэ зарлагаа бүртгэхэд ашигласан бол тэр файлд таны хувийн мэдээлэл, юунд хэдэн төгрөг зарцуулсан тань бичигдсэн байж болно. Түвшин 2-т бид энэ төслийг GitHub дээр нийтэд нээлттэй нийтлэх тул ийм мэдээлэл цомогт орвол бүх хүнд харагдана.
Хэрвээ таны data файлд зөвхөн туршилтын, зохиомол зарлагууд байгаа бол түүнийг цомогт оруулах нь зүгээр, бүр сайн. Учир нь таны repository-г хуулж авсан хүн шууд программаа ажиллуулж үзэх боломжтой болно. Харин жинхэнэ хувийн зарлага агуулж байвал хоёр сонголт бий. Нэгдүгээрт, файлын агуулгыг зохиомол өгөгдлөөр солих. Хоёрдугаарт, тэр файлыг .gitignore-д нэмж, оронд нь 2.4 дүгээр хичээлийн .env.example-тэй адил жишээ файл хийх. Хоёр дахь замыг сонговол .gitignore-ийн төгсгөлд дараах мөрүүдийг нэмнэ үү, файлын нэрийг өөрийнхөөрөө солиорой.
# Personal data
data/expenses.jsonЭнэ шийдвэрийг та өөрөө гаргана. Аль замыг ч сонгосон, хамгийн чухал нь та шийдвэрээ ухамсартайгаар гаргасан явдал юм.
Шалгах цэг: git status-ийн жагсаалтад зөвхөн цомогт орох ёстой зүйлс үлдсэн.
Одоо 2.2 дугаар хичээлийн дадлыг бүрэн хэрэгжүүлье: бүгдийг ачааны талбай руу зөөгөөд, явуулахаасаа өмнө нэг харна.
Command:
git add .
git statusГаралт:
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: data/expenses.json
new file: main.py
new file: report.py
new file: storage.pyБүх файл ногоон, ачааны талбайд. data/expenses.json-ийг .gitignore-д нэмсэн бол тэр энд харагдахгүй байх ёстой. Ачааны машин явахаас өмнө жагсаалтыг мөр бүрээр нь хараарай: venv, pycache, хувийн өгөгдөл энд байх ёсгүй. Хэрвээ байх ёсгүй зүйл харагдвал git restore --staged <файл>-аар буцааж, .gitignore-оо засаад дахин git add . хийнэ үү.
Command:
git commit -m "Initial commit"Гаралт:
[main (root-commit) a4c81f2] Initial commit
5 files changed, 27 insertions(+)
create mode 100644 .gitignore
create mode 100644 data/expenses.json
create mode 100644 main.py
create mode 100644 report.py
create mode 100644 storage.py“Initial commit” буюу "анхны commit" бол шинэ төслийн анхны зурагт өгдөг дэлхий нийтийн тогтсон нэр юм. Гаралтад “(root-commit)” бичиг гарсныг анзаараарай, энэ бол таны төслийн түүхийн үндэс. Таны файлын тоо, мөрийн тоо өөр байна.
Шалгах цэг: “(root-commit)” бүхий гаралт гарсан. git status “nothing to commit, working tree clean” гэж хэлж байна.
Энэ мөчийг нэг хором тэмдэглэе. Таны өмнөх сургалтын бүх ажил одоо анх удаа хамгаалагдсан цомогт байна. Цаашид юу ч болсон, энэ ажилладаг хувилбар руу хэзээ ч буцаж болно.
Одоо таны программд жижиг сайжруулалт хийе: мөнгөн дүнг мянгатын таслалтай, төгрөгийн тэмдэгттэй харуулах. “20500” гэхийн оронд “20,500₮”. Энэ бол жижиг өөрчлөлт ч Бүлэг 3-ын дүрмийн дагуу main-д шууд биш, өөрийн салаан дээр хийнэ.
Command:
git switch -c format-amountsГаралт:
Switched to a new branch 'format-amounts'VS Code-ийн зүүн доод буланд “format-amounts” гэж харагдаж байгааг шалгаарай. Одоо шинэ файл formatting.py үүсгэж, дараах кодыг бичнэ үү.
python
def format_amount(amount):
return f"{amount:,}₮"f-string доторх “:,” хэсэг нь Python-д тоог мянгатын таслалтай хэвлэхийг хэлдэг. Дараа нь программынхаа нийт дүнг хэвлэдэг газрыг олж, шинэ функцийг ашиглана уу. Жишээ төсөлд энэ нь main.py юм.
python
from storage import load_expenses
from report import total
from formatting import format_amount
expenses = load_expenses("data/expenses.json")
print("Нийт зарлага:", format_amount(total(expenses)))Хэрвээ таны программ дүнг хэд хэдэн газар хэвлэдэг бол хүсвэл бүгдэд нь format_amount ашиглаарай, эсвэл эхлээд нэг газар хэрэглээд үзээрэй.
Command:
python main.pyГаралт:
Нийт зарлага: 20,500₮Шалгах цэг: Программ шинэ форматаар дүнг харуулж байна.
Commit хийхээсээ өмнө 2.3 дугаар хичээлийн дадлаар юу өөрчилснөө харъя.
Command:
git statusГаралт:
On branch format-amounts
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: main.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
formatting.py
no changes added to commit (use "git add" and/or "git commit -a")format-amounts салаан дээр, main.py өөрчлөгдсөн, formatting.py шинэ. Шинэ файлын diff git diff-д харагдахгүй, учир нь Git түүнийг хараахан хянадаггүй. Өөрчлөгдсөн файлын diff-ийг харъя.
Command:
git diffГаралт:
diff --git a/main.py b/main.py
index 6e1a3b9..c2f04d7 100644
--- a/main.py
+++ b/main.py
@@ -1,5 +1,6 @@
from storage import load_expenses
from report import total
+from formatting import format_amount
expenses = load_expenses("data/expenses.json")
-print("Нийт зарлага:", total(expenses))
+print("Нийт зарлага:", format_amount(total(expenses)))Одоо та энэ гаралтыг өөрөө уншиж чадна. Хуучин 5 мөр шинэ 6 мөр болсон. Нэг import мөр нэмэгдсэн, print мөр хасагдаж шинэ хэлбэрээр нэмэгдсэн. Зайгаар эхэлсэн хоосон мөр бол өөрчлөгдөөгүй хоосон мөр. Бүх зүйл бидний санаатай таарч байна, илүү юм алга.
Command:
git add .
git commit -m "Format amounts with thousands separator"Гаралт:
[format-amounts 9f2b6e0] Format amounts with thousands separator
2 files changed, 4 insertions(+), 1 deletion(-)
create mode 100644 formatting.pyШалгах цэг: Commit format-amounts салаан дээр хийгдсэн, дөрвөлжин хаалтанд салааны нэр харагдаж байна.
Merge хийхээс өмнө 3.2 дугаар хичээлийн туршилтыг бодит төсөл дээрээ давтъя. Энэ нь салааны утгыг өөрийн программ дээр мэдрэх боломж юм.
Command:
git switch main
python main.pyГаралт:
Switched to branch 'main'
Нийт зарлага: 20500main дээр программ хуучин хэлбэрээрээ ажиллаж байна, formatting.py Explorer-оос алга болсон. Таны ажилладаг үндсэн хувилбар бүрэн хөндөгдөөгүй.
Command:
git switch format-amounts
python main.pyГаралт:
Switched to branch 'format-amounts'
Нийт зарлага: 20,500₮Шинэ ертөнцөд шинэ формат. Нэг программ, хоёр хувилбар, хооронд нь нэг command-аар шилждэг.
Шалгах цэг: main дээр хуучин гаралт, format-amounts дээр шинэ гаралт.
Шинэ боломж бэлэн бөгөөд шалгагдсан тул main-д оруулна. 3.3 дугаар хичээлийн дүрмийг санацгаая: эхлээд main руу шилжиж, дараа нь салааг нэрлэнэ.
Command:
git switch main
git merge format-amountsГаралт:
Switched to branch 'main'
Updating a4c81f2..9f2b6e0
Fast-forward
formatting.py | 2 ++
main.py | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
create mode 100644 formatting.pyFast-forward, учир нь салаалснаас хойш main хөдлөөгүй. “main.py | 3 ++-” мөр нь main.py-д 3 мөрийн өөрчлөлт, хоёр нэмэлт, нэг хасалт байгааг жижиг диаграмаар харуулж байна.
Command:
python main.pyГаралт:
Нийт зарлага: 20,500₮Шалгах цэг: main дээр программ шинэ форматаар ажиллаж байна.
Command:
git branch -d format-amounts
git log --onelineГаралт:
Deleted branch format-amounts (was 9f2b6e0).
9f2b6e0 (HEAD -> main) Format amounts with thousands separator
a4c81f2 Initial commitТаны зарлагын бүртгэл одоо хоёр зурагтай цэвэр түүхтэй: ажилладаг анхны хувилбар, түүн дээр хийсэн нэг сайжруулалт. Хоёр message хоёулаа юу болсныг тодорхой хэлж байна.
Шалгах цэг: git log --oneline хоёр commit харуулж байна, git status “working tree clean” гэж хэлж байна.
Энэ бүтээлийн бүх алхмыг нэг дор цуглуулъя. Ирээдүйд шинэ төслөө Git-д оруулахдаа энэ жагсаалтыг заавар болгон ашиглаарай.
# 1. Төслийн фолдерт байгаа эсэхээ шалгах
pwd
# 2. Төсөл ажиллаж байгааг батлах
python main.py
# 3. Аль хэдийн repository эсэхийг шалгах (fatal гарах ёстой)
git status
# 4. Repository үүсгэх
git init
# 5. .gitignore-ийг VS Code-д үүсгэж, дараа нь шалгах
git status
# 6. Анхны commit
git add .
git status
git commit -m "Initial commit"
# 7. Шинэ боломжид зориулсан салаа
git switch -c format-amounts
# 8. Кодоо өөрчилж, ажиллуулж, шалгах
python main.py
git status
git diff
# 9. Салаан дээр commit хийх
git add .
git commit -m "Format amounts with thousands separator"
# 10. main-д нэгтгэх
git switch main
git merge format-amounts
# 11. Цэвэрлэж, түүхээ харах
git branch -d format-amounts
git log --onelineЭнэ дараалалд Түвшин 1-д сурсан бараг бүх command багтсан байна. Тэдгээрийн аль нь ч одоо танд хачин тарни биш, тус бүр нь юу хийж байгааг, гаралт нь юу гэж хэлж байгааг та мэднэ.
Доорх гурван санаа бүгд сонголт бөгөөд дараагийн хичээлүүд тэдгээрийг хийсэн гэж үзэхгүй. Хүсвэл, сонирхвол туршаад үзээрэй.
Хоёр дахь боломж нэмэх. Шинэ салаан дээр, жишээ нь category-totals нэртэй салаан дээр, ангилал тус бүрийн нийт дүнг харуулдаг функц нэмээрэй. Яг энэ хичээлийн Алхам 8-12-ыг давтан, салаа үүсгэх, ажиллуулж шалгах, diff унших, commit, merge, цэвэрлэх бүрэн мөчлөгийг өөрөө явуулаарай.
Жинхэнэ бэлчир үүсгэх. Шинэ салаан дээр нэг өөрчлөлт хийж commit хийгээд, main руу буцаж тэнд өөр файлд өөр өөрчлөлт хийж commit хийгээрэй. Дараа нь нэгтгэвэл fast-forward биш, 3.3 дугаар хичээлийн merge commit үүснэ. git log --oneline --graph-ээр өөрийн төслийн түүхэнд бэлчир хэрхэн харагдахыг хараарай.
Бусад төслүүдээ Git-д оруулах. Өмнөх сургалтын цаг агаарын программ, номын сангийн систем зэрэг бусад төслүүддээ "Бүх command-ын дараалал" хэсгийн 1-6 дугаар алхмыг давтаарай. Хэдэн минутын дотор таны бүх ажил хамгаалагдсан цомогтой болно.
Төсөл өөр repository-ийн дотор байх. Хэрвээ та төслөө git-dadlaga зэрэг аль хэдийн repository болсон фолдер дотор хийсэн бол Алхам 3-ын git status “fatal” биш, гаднах repository-ийн байдлыг харуулна. Мөн гаднах repository-д git add . хийхэд дараах анхааруулга гарч болно.
warning: adding embedded git repository: expense-tracker
hint: You've added another git repository inside your current repository."Таны одоогийн repository дотор өөр нэг git repository нэмж байна" гэсэн утгатай. Энэ нь хоёр цомгийг бие биенийхээ дотор хадгалах гэж байгаа бөгөөд ихэнхдээ санамсаргүй тохиолддог. Хамгийн энгийн шийдэл бол төслөө аль ч repository-оос гадуур, жишээ нь хэрэглэгчийн фолдерынхоо шууд доор байрлуулах явдал. Хэрвээ гаднах repository-д ийм зүйл ачааны талбай руу орсон бол git restore --staged expense-tracker бичиж буцаана уу.
Хувийн өгөгдлийг commit хийсэн байх. Хэрвээ Алхам 7-ийн дараа data файлдаа хувийн мэдээлэл байгааг санасан бол 2.4 дүгээр хичээлийн аргаар засна уу: .gitignore-д нэмээд git rm --cached data/expenses.json бичиж, дараа нь commit хийнэ. Энэ төсөл хараахан GitHub руу илгээгдээгүй тул мэдээлэл тань зөвхөн таны компьютер дээр байгаа. Гэсэн хэдий ч хуучин commit-д үлдсэн гэдгийг санаарай. Түвшин 2-т нийтлэхээс өмнө энэ асуудал таныг зовоож байвал хамгийн энгийн арга нь .git фолдерыг устгаж, энэ хичээлийг Алхам 4-өөс дахин эхлэх явдал юм. Энэ удаад таны түүх хоёрхон commit-тэй тул алдах зүйл бага.
Салаа солиход программ ModuleNotFoundError өгөх.
Traceback (most recent call last):
File "C:\Users\Bat\expense-tracker\main.py", line 3, in <module>
from formatting import format_amount
ModuleNotFoundError: No module named 'formatting'Хэрвээ та main дээр байхдаа шинэ main.py-ийг ажиллуулах гэж оролдвол ийм алдаа гарч магадгүй. Жишээ нь салаа солихоос өмнө VS Code-д хадгалаагүй өөрчлөлт үлдсэн бол. “No module named ‘formatting’” нь “formatting нэртэй модуль олдсонгүй” гэсэн утгатай: main.py formatting.py-г import хийх гэж байгаа ч энэ салаанд тэр файл байхгүй. VS Code-ийн зүүн доод булангаас аль салаан дээр байгаагаа шалгаж, git status-ээр хадгалаагүй өөрчлөлт байгаа эсэхийг харна уу. Энэ бол өмнөх хичээлийн "салаа солихын өмнө ажлын фолдероо цэвэр болго" гэсэн дүрмийн бодит жишээ.
Мөрийн төгсгөлийн олон анхааруулга. Анхны git add .-ийн үед олон файлын тухай “LF will be replaced by CRLF” гэсэн анхааруулга урт жагсаалтаар гарч болно. 2.2 дугаар хичээлд ярьсанчлан энэ нь алдаа биш, таны add амжилттай болсон.
Энэ удирдлагатай бүтээлд та өмнөх сургалтын зарлагын бүртгэлийг Git-д оруулж, Түвшин 1-ийн бүх ур чадварыг бодит төсөл дээр хэрэгжүүллээ. Эхлээд зөв фолдерт байгаа, төсөл ажиллаж байгаа, фолдер repository биш гэдгийг шалгасан. git init хийж, .gitignore бичиж, хувийн өгөгдлийн тухай ухамсартай шийдвэр гаргасан. Ачааны талбайг шалгасны дараа анхны commit хийсэн. Шинэ боломжийг өөрийн салаан дээр бүтээж, diff-ээр шалгаж, commit хийж, хоёр ертөнцийн хооронд аялаад, main-д нэгтгэж, салааг цэвэрлэсэн. Таны төсөл одоо ажилладаг, хамгаалагдсан, ойлгомжтой түүхтэй.
Ингээд Түвшин 1 дууслаа. Та одоо Git-ийг өөрийн компьютер дээр бүрэн итгэлтэйгээр ашиглаж чадна. Гэхдээ таны цомог одоохондоо зөвхөн таны компьютер дээр байна. Түвшин 2-т бид түүнийг дэлхий рүү гаргана. Бүлэг 4-ийн эхний хичээлд GitHub гэж юу болох, түүнийг яагаад ашигладаг гурван шударга шалтгаан, local болон remote гэсэн хоёр ертөнцийн ойлголтыг судалж, GitHub-д бүртгэл үүсгэнэ.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.