Ачааллж байна...
Бүлэг 3-т бид салаан дээр ажиллаж, бэлэн болсон ажлаа git merge-ээр main-д нэгтгэж сурсан. Тэр нэгтгэл таны компьютер дээр, хэнд ч харагдахгүйгээр, нэг command-аар болсон. Багийн ажилд код main-д ийм байдлаар ордоггүй. Хэн нэгэн main-д шууд нэгтгэвэл бусад нь юу өөрчлөгдсөнийг, яагаад өөрчлөгдсөнийг мэдэхгүй, алдааг хэн ч шалгаж амжихгүй. Тиймээс багууд нэгтгэлийн өмнө нэг алхам нэмдэг: pull request. Энэ бол GitHub дээр нээгддэг "миний салааг main-д нэгтгэх хүсэлт" бөгөөд тэнд бусад нь өөрчлөлтийг харж, сэтгэгдэл бичиж, зөвшөөрсний дараа л нэгтгэл болдог.
Энэ хичээлд бид pull request-ийн бүтэн мөчлөгийг ганцаараа туулна: салаа үүсгэх, ажиллах, салааг GitHub руу push хийх, pull request нээх, өөрийн өөрчлөлтийг GitHub дээр хянах, хянах явцад олсон дутагдлаа засах, нэгтгэх, цэвэрлэх. Ганцаараа хийх нь хачин санагдаж болох ч энэ бол ирээдүйн багийн ажлын шууд дадлага юм. Багт нэгдэх эхний өдөр тань энэ мөчлөг аль хэдийн танил байх болно. Мөн ганцаараа ч гэсэн pull request нь өөрийн ажлыг шинэ нүдээр харах, түүнийг баримтжуулах сайн хэрэгсэл болдгийг харна.
Сонины сэтгүүлч нийтлэлээ бичээд шууд хэвлэлд илгээдэггүй. Тэр ноорогоо редакторын ширээн дээр тавьж, "энэ нийтлэлийг хэвлэх хүсэлт" гаргадаг. Редактор ноорогийг уншиж, захад нь тэмдэглэл хийнэ: энэ өгүүлбэр ойлгомжгүй байна, энэ тоог шалгаарай, гарчиг сайн байна. Сэтгүүлч тэмдэглэлүүдийн дагуу засна. Редактор дахин уншиж, бэлэн гэж үзвэл зөвшөөрнө. Тэгээд л нийтлэл сонинд ордог. Хэрвээ хожим нийтлэлийн тухай асуулт гарвал редакцын тэмдэглэлүүд яагаад ийм шийдвэр гаргасныг харуулна.
Pull request бол тэр редакцын ширээ. Салаа бол ноорог, main бол сонин, pull request нь хэвлэх хүсэлт, GitHub дээрх сэтгэгдлүүд нь редакторын тэмдэглэл, merge бол хэвлэлд орох мөч. Ганцаараа ажиллахад та сэтгүүлч ч, редактор ч. Энэ нь утгагүй мэт санагдаж болох ч олон зохиолч ноорогоо цаасан дээр хэвлэж уншихад дэлгэцэн дээр анзаараагүй алдаагаа олдог. Өөр гадаргуу, өөр орчин шинэ нүд өгдөг. GitHub-ийн pull request хуудас яг ийм шинэ нүд болно.
Алхам 1: Салаа үүсгэж ажиллах
Энэ хичээлд зарлагын бүртгэлдээ жижиг сайжруулалт хийнэ: 6.1 дүгээр хичээлд зассан average функцийг ашиглаж, хураангуйд дундаж зарлагыг харуулна. Гэрийн компьютерийн expense-tracker фолдероо нээж, эхлээд main дээр pull хийгээд, шинэ салаа үүсгэнэ үү.
Command:
git switch main
git pull
git switch -c show-averageГаралт:
Already on 'main'
Your branch is up to date with 'origin/main'.
Already up to date.
Switched to a new branch 'show-average'“Already on ‘main’” нь та аль хэдийн main дээр байсныг заана. Шинэ салааг үргэлж шинэчлэгдсэн main-аас үүсгэх нь 4.4 дүгээр хичээлийн дадлын үргэлжлэл: хуучин main-аас салаалвал нэгтгэх үед зөрчил гарах магадлал өснө.
VS Code-д main.py-г нээж, import мөр болон хураангуйг дараах байдлаар өөрчилнө үү.
python
from storage import load_expenses
from report import total, count, average
from formatting import format_amount
expenses = load_expenses("data/expenses.json")
print("Нийт зарлага:", format_amount(total(expenses)))
print("Нийт бичлэг:", count(expenses), "ширхэг")
print("Дундаж зарлага:", format_amount(round(average(expenses))))round() нь дунджийг бүхэл тоо болгож тойруулна. Үүнгүйгээр format_amount “6,833.333333333333₮” гэх мэт урт бутархай хэвлэх байсан. Таны 4.4 дүгээр хичээлийн conflict шийдвэрээс хамаараад "Нийт бичлэг" мөр өөр хэлбэртэй байж болно, түүнийг хэвээр нь үлдээгээрэй.
Command:
python main.pyГаралт:
Нийт зарлага: 20,500₮
Нийт бичлэг: 3 ширхэг
Дундаж зарлага: 6,833₮Command:
git add main.py
git commit -m "Show average expense in summary"Гаралт:
[show-average 2f8c1a6] Show average expense in summary
1 file changed, 2 insertions(+), 1 deletion(-)Алхам 2: Салааг GitHub руу push хийх
Бүлэг 3-т бид салаануудыг зөвхөн local дээр хэрэглэсэн. Pull request нээхийн тулд салаа GitHub дээр байх ёстой. Шинэ салааг анх удаа push хийхэд 4.2 дугаар хичээлийн “-u”-г ашиглана.
Command:
git push -u origin show-averageГаралт:
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 402 bytes | 402.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: Create a pull request for 'show-average' on GitHub by visiting:
remote: https://github.com/bat-dorj/expense-tracker/pull/new/show-average
remote:
To https://github.com/bat-dorj/expense-tracker.git
* [new branch] show-average -> show-average
branch 'show-average' set up to track 'origin/show-average'.Эхний хэсэг танил: илгээмжийг бэлтгэх мөрүүд. Харин “remote:” мөрүүдийн дунд шинэ мессеж гарч ирлээ: “Create a pull request for ‘show-average’ on GitHub by visiting:” буюу “show-average-д pull request үүсгэхийн тулд дараах хаягаар орно уу”. GitHub шинэ салаа ирснийг анзаарч, pull request нээх холбоосыг санал болгож байна. Сүүлийн хоёр мөр 4.2 дугаар хичээлээс таньж байгаа зүйл: GitHub дээр шинэ салаа үүссэн, local салаа түүнийг дагахаар тохируулагдсан.
Алхам 3: Pull request нээх
Terminal дахь холбоос дээр Ctrl товчийг дарж байгаад хулганаар дарвал browser-т шууд нээгдэнэ. Эсвэл browser дээр repository хуудсаа нээвэл дээд хэсэгт шар дэвсгэртэй мөр гарсан байна: “show-average had recent pushes” буюу “show-average-д саяхан push хийгдсэн”, хажууд нь ногоон “Compare & pull request” товчтой. Аль ч аргаар нэг хуудас нээгдэнэ.
[Зураг: шар мөр ба “Compare & pull request” товч]
Pull request үүсгэх хуудасны хамгийн дээд хэсэгт хоёр салаа заасан мөр бий: “base: main ← compare: show-average”. Үүнийг анхааралтай уншаарай, учир нь энэ нь хүсэлтийн чиглэлийг заадаг. base бол нэгтгэгдэх газар, compare бол нэгтгэх гэж буй салаа. Сум “compare-аас base руу” гэсэн утгатай: show-average-ийн ажлыг main руу. Энэ бол 3.3 дугаар хичээлийн “main дээр байж, салааг нэрлэх” дүрэмтэй ижил санаа. Хажууд нь ногоон “Able to merge” буюу "нэгтгэх боломжтой" гэсэн бичиг байвал conflict байхгүй гэсэн үг.
[Зураг: base ба compare салаа, “Able to merge” бичиг]
Доор нь гарчиг ба тайлбарын талбарууд байна. Салаанд ганц commit байгаа тул GitHub гарчгийг commit message-ээс автоматаар бөглөсөн: “Show average expense in summary”. Тайлбарын талбарт энэ өөрчлөлт юу хийдэг, яагаад хийснийг товч бичнэ. Issue-тэй адил Markdown дэмждэг.
markdown
Adds the average expense to the summary output.
Uses the `average()` function, which now returns 0 for an empty list (see #1).“#1” гэж бичсэнийг анзаараарай. 6.1 дүгээр хичээлд үзсэнчлэн энэ нь issue #1 рүү холбоос болно. Хуудасны доод хэсэгт энэ pull request-д орох commit-ууд болон өөрчлөлтийн diff аль хэдийн харагдаж байна. Ногоон “Create pull request” товчийг дарна уу.
[Зураг: бөглөсөн pull request маягт]
Алхам 4: Pull request-ийн хуудсыг унших
Pull request үүслээ. Гарчгийн хажууд дугаар бий: #3. Яагаад #3 вэ, бидэнд хоёр issue л байсан шүү дээ? GitHub issue болон pull request-д нэг дугаарлалт ашигладаг. #1, #2 нь issue-үүд тул шинэ pull request #3 болсон. Энэ нь “#3” гэж бичихэд issue уу, pull request уу гэдгээс үл хамааран үргэлж нэг л зүйлийг заана гэсэн үг.
[Зураг: pull request #3-ийн хуудас]
Хуудасны дээд хэсэгт дөрвөн таб бий: Conversation, Commits, Checks, Files changed. Conversation буюу ярилцлага нь таны тайлбар, сэтгэгдлүүд, бүх үйл явдлын түүх. Commits нь энэ салааны commit-ууд. Checks нь автомат шалгалтуудын үр дүн бөгөөд одоохондоо хоосон, Бүлэг 12-т энэ тухай товч дурдана. Files changed бол хамгийн чухал таб.
Алхам 5: Өөрийн ажлыг хянах
“Files changed” таб дээр дарна уу. 5.3 дугаар хичээлийн commit-ын diff хуудастай төстэй хуудас нээгдэнэ, гэхдээ энэ нь салааны бүх commit-ын нийлбэр өөрчлөлтийг харуулна.
[Зураг: Files changed таб, main.py-ийн diff]
Одоо редакторын малгайгаа өмсөж, өөрийн ажлыг анх удаа харж байгаа хүн шиг уншаарай. Мөр бүр зөв үү? Хэрэггүй зүйл үлдсэн үү, жишээ нь туршилтын print? Нэрнүүд ойлгомжтой юу? Энэ өөрчлөлт өөр юуг нөлөөлөх вэ? Энэ асуултуудыг асуухад нэг зүйл анзаарагдана: бид программын гаралтыг өөрчилсөн, харин 5.1 дүгээр хичээлд бичсэн README-ийн “Features” хэсэг, “Example output” хэсэг хуучин хэвээр. README одоо программыг буруу тайлбарлаж байна.
Үүнийг тэмдэглэе. Diff-ийн аль ч мөрийн дугаарын хажууд хулганаа аваачвал цэнхэр “+” тэмдэг гарч ирнэ. Average-ийг хэвлэдэг мөрийн “+” дээр дарвал сэтгэгдлийн талбар нээгдэнэ. Тэнд бичнэ үү.
README still shows the old output. Update Features and Example output.“Add single comment” буюу "ганц сэтгэгдэл нэмэх" товчийг дарна уу. Сэтгэгдэл тэр мөрийн доор харагдана. Багийн ажилд яг ийм сэтгэгдлүүдийг reviewer бичдэг, энэ удаад та өөрөө өөртөө бичлээ.
[Зураг: diff-ийн мөрөнд нэмсэн сэтгэгдэл]
Алхам 6: Хянах явцад олсон зүйлээ засах
Pull request-ийн нэг гайхалтай шинж бий: салаанд шинэ commit push хийхэд нээлттэй pull request автоматаар шинэчлэгддэг. Шинэ pull request нээх шаардлагагүй. VS Code руу буцаж, show-average салаан дээр байгаа эсэхээ зүүн доод булангаас шалгаад, README.md-г нээнэ үү. “Features” хэсэгт мөр нэмж, “Example output” хэсгийг программын шинэ гаралтаар солино уу.
markdown
- Prints the average expensemarkdown
```
Нийт зарлага: 20,500₮
Нийт бичлэг: 3 ширхэг
Дундаж зарлага: 6,833₮
```Command:
git add README.md
git commit -m "Mention average in README"
git pushГаралт (сүүлийн мөрүүд):
[show-average 9d1e4b7] Mention average in README
1 file changed, 2 insertions(+), 1 deletion(-)
...
To https://github.com/bat-dorj/expense-tracker.git
2f8c1a6..9d1e4b7 show-average -> show-averageUpstream аль хэдийн тохируулагдсан тул зүгээр git push хангалттай байлаа. Сүүлийн мөр main биш, show-average салаа шинэчлэгдсэнийг харуулж байна.
Browser дээр pull request хуудсаа дахин ачаална уу. Commits таб одоо 2 commit харуулж, Files changed таб README.md-ийн өөрчлөлтийг ч агуулж байна. Conversation табд таны шинэ commit үйл явдлын түүхэнд нэмэгдсэн. Алхам 5-ын сэтгэгдэл тань одоо “Outdated” буюу "хуучирсан" гэж тэмдэглэгдсэн байж болно, учир нь GitHub тэр мөрийн орчим өөрчлөгдсөнийг анзаарсан. Хэрвээ сэтгэгдлийн доор “Resolve conversation” товч байвал түүнийг дарж, асуудал шийдэгдсэнийг тэмдэглэнэ үү.
Алхам 7: Нэгтгэх
Хянах ажил дууслаа, өөрчлөлт бэлэн. Conversation табын доод хэсэгт ногоон “Merge pull request” товч бий. Товчны хажуудах сумыг дарвал гурван сонголт гарч болно: “Create a merge commit”, “Squash and merge”, “Rebase and merge”. Анхдагч “Create a merge commit” нь 3.3 дугаар хичээлд сурсан merge commit-ыг үүсгэж, салааны бүх commit-ыг түүхэнд хадгалдаг. Бусад хоёр нь түүхийг өөр аргаар нэгтгэдэг бөгөөд энэ сургалтад анхдагчийг ашиглана. “Merge pull request” дараад, гарч ирэх баталгаажуулах товчийг дарна уу.
[Зураг: “Merge pull request” товч ба сонголтууд]
Pull request-ийн тэмдэг нил ягаан “Merged” болж өөрчлөгдлөө. Conversation-ийн төгсгөлд “merged commit ... into main” гэсэн мөр, хажууд нь “Delete branch” товч гарч ирсэн. Салааны ажил main-д орсон тул GitHub дээрх салаа цаашид хэрэггүй. “Delete branch” дарна уу. Энэ нь зөвхөн GitHub дээрх салааг устгана, таны компьютер дээрх show-average хэвээр байна.
[Зураг: Merged төлөвтэй pull request ба “Delete branch” товч]
Алхам 8: Local-ыг шинэчлэх
Нэгтгэл GitHub дээр болсон тул таны local main хоцорсон байна. 5.2 дугаар хичээлийн LICENSE-тэй адил нөхцөл: GitHub дээр өөрчлөлт болсны дараа pull.
Command:
git switch main
git pullГаралт:
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 919 bytes | 91.00 KiB/s, done.
From https://github.com/bat-dorj/expense-tracker
4b2d7e9..c5a0f38 main -> origin/main
Updating 4b2d7e9..c5a0f38
Fast-forward
README.md | 3 ++-
main.py | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)Switch-ийн дараах “up to date” гэсэн мөрийг анзаараарай: 4.3 дугаар хичээлийн хуучирсан тэмдэглэлийн яг жишээ. Pull GitHub-тай ярилцмагц үнэн тодорхой болж, main хоёр файлын өөрчлөлтийг fast-forward-оор авлаа.
Одоо local салааг цэвэрлэнэ.
Command:
git branch -d show-average
git fetch --pruneГаралт:
Deleted branch show-average (was 9d1e4b7).
From https://github.com/bat-dorj/expense-tracker
- [deleted] (none) -> origin/show-averagegit branch -d local салааг устгасан. Гэхдээ таны компьютер GitHub дээрх салааны тэмдэглэл болох origin/show-average-ийг санасаар байсан, учир нь GitHub дээр салаа устсаныг мэдээгүй. “--prune” нь "тайрах" гэсэн утгатай: fetch хийхдээ GitHub дээр байхаа больсон салаануудын тэмдэглэлийг устгадаг. “- [deleted] (none) -> origin/show-average” мөр яг үүнийг харуулж байна. Ингээд бүх зүйл цэвэр боллоо.
Command:
git log --oneline --graph -4Гаралт:
* c5a0f38 (HEAD -> main, origin/main) Merge pull request #3 from bat-dorj/show-average
|\
| * 9d1e4b7 Mention average in README
| * 2f8c1a6 Show average expense in summary
|/
* 4b2d7e9 Return 0 from average() for empty list (fixes #1)Merge commit-ын message “Merge pull request #3 from bat-dorj/show-average” гэж байна. Энэ “#3” нь GitHub дээр pull request руу холбоос болдог тул хэдэн сарын дараа энэ commit-ыг олсон хэн ч бүх ярилцлага, сэтгэгдэл, хянах түүх рүү шууд очно. Энэ бол pull request-ийн хамгийн урт хугацааны үнэ цэн: өөрчлөлт бүр яагаад хийгдсэн тухай баримт бичигтэй болдог.
Энэ мөчлөг ганцаараа ажилладаг хүнд хэтэрхий олон алхам мэт санагдаж болох тул шударгаар дүгнэе. Жижиг, хувийн төсөлд өөрчлөлт бүрийг pull request-ээр оруулах шаардлагагүй, олон хөгжүүлэгч хувийн төсөлдөө main руу шууд push хийдэг. Гэхдээ энэ мөчлөгийг ганцаараа хэдэн удаа туулах нь гурван бодит ашигтай. Нэгдүгээрт, багийн ажилд бэлдэнэ: мэргэжлийн бараг бүх баг кодыг pull request-ээр оруулдаг бөгөөд та тэр үед анхнаасаа мэддэг байх болно. Хоёрдугаарт, өөрийн ажлыг шинэ нүдээр хардаг: Алхам 5-д README-ийн дутагдлыг terminal-д биш, яг Files changed табд олсон шиг. Гуравдугаарт, portfolio-д үнэ цэнтэй: reviewer таны repository-ийн Pull requests табыг нээвэл ажлаа хэрхэн зохион байгуулдаг, өөрчлөлтөө хэрхэн тайлбарладгийг тань харна.
Practical зөвлөгөө: том, олон алхамтай, эсвэл эрсдэлтэй өөрчлөлтийг pull request-ээр, жижиг засвар, үсгийн алдааг шууд main руу. Энэ шийдвэрийг та өөрөө гаргана.
Хүсвэл GitHub дээр өөрийн дуртай нээлттэй эх кодтой төслийн Pull requests табыг нээж, хаагдсан, нэгтгэгдсэн pull request-үүдээс хэдийг уншаарай. Тайлбар нь хэрхэн бичигдсэн, reviewer ямар сэтгэгдэл бичсэн, зохиогч хэрхэн хариулсан, хэдэн удаа шинэ commit нэмэгдсэнийг ажиглаарай. Мэргэжлийн хөгжүүлэгчид бие биенийхээ кодыг хэрхэн хянадагийг харах нь энэ хичээлийн мөчлөг бодит амьдралд хэрхэн ажилладгийг ойлгох хамгийн сайн арга юм.
Шинэ салааг “-u”-гүйгээр push хийх.
fatal: The current branch show-average has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin show-average
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'."Одоогийн show-average салаанд upstream салаа алга" гэсэн утгатай. Шинэ салаа GitHub дээр хараахан байхгүй тул зүгээр git push хаашаа илгээхээ мэдэхгүй. Мессеж шийдлийг өгч байна: git push --set-upstream origin show-average, энэ нь бидний ашигласан git push -u origin show-average-ийн урт хэлбэр. Нэг удаа ингэж push хийсний дараа энэ салаанд зүгээр git push хангалттай.
Pull request “Can’t automatically merge” гэж харуулах. Хэрвээ таны салаа үүссэнээс хойш main дээр ижил мөрүүд өөрчлөгдсөн бол GitHub conflict байгааг мэдэгдэж, ногоон товчны оронд анхааруулга харуулна. Шийдэл нь 3.3 болон 4.4 дүгээр хичээлүүдийн аргууд: local дээрээ салаан дээрээ байхдаа git pull origin main бичиж main-ийн ажлыг салаа руу татаж, conflict-ийг шийдэж, commit хийгээд, салаагаа push хийнэ. Pull request автоматаар шинэчлэгдэж, нэгтгэх боломжтой болно.
Pull request буруу чиглэлд нээгдэх. Хэрвээ base болон compare салаанууд эсрэгээрээ сонгогдсон бол pull request таны хүссэнээс өөр зүйл нэгтгэх гэж байна. Үүсгэх хуудсан дээр base ба compare-ийн цэснүүдээс зөв салааг сонгоорой: base нь main, compare нь таны салаа. Хэрвээ аль хэдийн үүсгэсэн бол pull request хуудсанд “Close pull request” дарж хаагаад, зөв чиглэлтэй шинийг нээнэ үү.
Нэгтгэсний дараа pull хийхээ мартах. Хэрвээ та GitHub дээр нэгтгэсний дараа local main-ээ шинэчлэлгүйгээр шинэ салаа үүсгэвэл тэр салаа хуучин main-аас үүснэ. Дараагийн pull request-ийн үед хуучин өөрчлөлтүүдтэй зөрчил гарах эрсдэлтэй. Pull request нэгтгэсний дараа заавал Алхам 8-ийг хий: main руу шилжиж, pull хийнэ.
git branch -d “not fully merged” гэж эсэргүүцэх. Хэрвээ та GitHub дээр “Squash and merge” сонгосон бол салааны commit-ууд main-д нэг шинэ commit болж ордог тул Git таны local салааны commit-уудыг main-д байгаа гэж танихгүй. Энэ тохиолдолд GitHub дээр pull request “Merged” төлөвтэй байгааг шалгасны дараа том “-D”-ээр устгаж болно: git branch -D show-average. Энэ хичээлд бид анхдагч “Create a merge commit”-ийг ашигласан тул энэ асуудал гарахгүй.
Салааны оронд main дээр commit хийх. Хэрвээ git switch -c-ийг мартаад өөрчлөлтөө main дээр commit хийсэн бол, хараахан push хийгээгүй тохиолдолд, хамгийн энгийн арга нь энэ удаад шууд main руу push хийж, дараагийн өөрчлөлтөөс эхлэн салаа ашиглах явдал. Commit-ыг main-аас салаа руу шилжүүлэх аргууд байдаг ч энэ сургалтын хүрээнээс гадуур. Commit хийхийн өмнө VS Code-ийн зүүн доод булангаас салааны нэрийг шалгах дадал энэ алдаанаас сэргийлнэ.
Pull request бол GitHub дээр нээгддэг салааг main-д нэгтгэх хүсэлт бөгөөд нэгтгэхээс өмнө өөрчлөлтийг харж, хэлэлцэж, засах газар юм. Мөчлөг: шинэчлэгдсэн main-аас салаа үүсгэх, ажиллаж commit хийх, git push -u origin салаа-аар GitHub руу илгээх, “Compare & pull request”-ээр нээх, base ← compare чиглэлийг шалгах, тайлбар бичих, Files changed табд өөрийн ажлыг редактор шиг хянах, олсон дутагдлаа шинэ commit-оор засаж push хийх (pull request автоматаар шинэчлэгдэнэ), “Merge pull request”-ээр нэгтгэх, GitHub дээр салааг устгах, local дээр main руу шилжиж pull хийх, git branch -d болон git fetch --prune-ээр цэвэрлэх. Issue болон pull request нэг дугаарлалттай. Merge commit-ын message pull request руу холбоос агуулдаг тул өөрчлөлт бүр баримттай болдог. Ганцаараа ч гэсэн энэ мөчлөг багийн ажилд бэлдэж, ажлыг шинэ нүдээр харуулж, portfolio-г баяжуулдаг.
Дараагийн хичээл бол Түвшин 2-ын удирдлагатай бүтээл. Түвшин 2-т сурсан бүх зүйлийг нэг бүтэн мөчлөгт нэгтгэнэ: 6.1 дүгээр хичээлд нээлттэй үлдээсэн issue #2-ийг pull request-ээр шийдэж, README-г бүрэн шинэчилж, repository-гоо нийтлэхэд бүрэн бэлэн болгоно.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.