Git / Pull Request

Pull Request

Pull Request (PR) нь өөрийн branch дээрх өөрчлөлтийг main branch-д нэгтгэхийг хүсэх механизм юм. Багийн хамтын ажиллагааны үндэс суурь.

Pull Request яагаад хэрэгтэй вэ?

Шууд main branch-д push хийхийн оронд PR ашигладаг учир:

  • Хамтрагчид кодыг шалгах боломжтой болдог
  • Алдааг merge хийхээс өмнө олдог
  • Өөрчлөлтийн түүх тодорхой хадгалагддаг

PR үүсгэх — алхам алхмаар

Алхам 1 — Feature branch үүсгэж, ажил хийнэ:

bash
git checkout -b feature/login
# ... код бичнэ ...
git add .
git commit -m "feat: нэвтрэх хуудас нэмэх"

Алхам 2 — GitHub руу push хийнэ:

bash
git push origin feature/login

Алхам 3 — GitHub дээр PR үүсгэнэ:

  1. Repository хуудасны дээд хэсэгт "Compare & pull request" товч гарна
  2. Эсвэл Pull requests таб → New pull request
  3. base: maincompare: feature/login гэж тохируулна
  4. Гарчиг болон тайлбар бичнэ
  5. Create pull request товч дарна

Сайн PR description бичих

Муу PR тайлбар:

код
Login нэмлээ

Сайн PR тайлбар:

код
## Юу хийгдсэн
Нэвтрэх хуудас нэмэгдсэн. И-мэйл, нууц үгээр нэвтрэх боломжтой.

## Яагаад
Issue #12 — нэвтрэх системгүй байсан.

## Тест хийх арга
1. /login хуудас руу орно
2. И-мэйл: test@example.com, нууц үг: 123456
3. Амжилттай нэвтэрвэл dashboard руу шилжинэ

## Screenshot
[Нэвтрэх хуудасны зураг]

Code review

PR үүсгэсний дараа хамтрагчид кодыг шалгана.

Reviewer-ийн үүрэг:

код
Files changed таб → мөр бүрийг шалгана

Тайлбар үлдээх: тодорхой мөрөн дээр + товч дарж comment бичнэ.

Comment-ийн төрлүүд:

  • Comment — санал, асуулт
  • Approve — код зөв, merge хийж болно
  • Request changes — засах зүйл байна

Approve ба merge

Reviewer approve хийсний дараа PR-ийг merge хийнэ:

Merge хийх 3 арга:

| Арга | Тайлбар | | -------------------- | ---------------------------------------------- | | Merge commit | Бүх commit-ийг хадгалж, нэг merge commit нэмнэ | | Squash and merge | Бүх commit-ийг нэг болгож нэгтгэнэ | | Rebase and merge | Commit-уудыг шугаман байдлаар нэгтгэнэ |

Ихэнх багт Squash and merge ашигладаг — main branch цэвэр хэвээр үлдэнэ.

Draft PR

Код дуусаагүй байхад хамтрагчдаасаа эрт санал авахыг хүсвэл Draft PR үүсгэнэ:

код
New pull request → "Create draft pull request"

Draft PR merge хийх боломжгүй — бэлэн болмогц "Ready for review" товч дарна.

PR-ийг local-д татаж шалгах

Reviewer байвал PR-ийн кодыг өөрийн компьютерт татаж тест хийж болно:

bash
# PR-ийн branch татах
git fetch origin
git checkout feature/login

# Шалгасны дараа өмнөх branch руу буцна
git checkout main

Дараагийн хичээлд:

Fork хийх болон open source проектод хувь нэмэр оруулах workflow-г үзнэ.