Git / Эцсийн төсөл

Эцсийн төсөл

Энэ хичээлд Git курсын туршид сурсан бүх зүйлээ нэгтгэн бодит GitHub repository үүсгэж, feature branch workflow дагуу хөгжүүлэлт хийнэ.

Төслийн тойм

Зорилго: personal-portfolio нэртэй GitHub repository үүсгэж, GitHub Flow ашиглан 3 feature хөгжүүлэх.

Хийх зүйлс:

  • Repository үүсгэж анхны тохируулга хийх
  • Feature branch-аар 3 өөрчлөлт хийх
  • PR үүсгэж, merge хийх
  • Tag болон release гаргах

Алхам 1 — Repository үүсгэх

GitHub дээр:

  1. github.com → New repository
  2. Нэр: personal-portfolio
  3. Public, Add a README file сонгоно
  4. Create repository

Local-д clone хийх:

bash
git clone git@github.com:taniiNer/personal-portfolio.git
cd personal-portfolio

Git тохируулгыг шалгах:

bash
git config user.name
git config user.email

Тохируулагдаагүй бол:

bash
git config --global user.name "Өөрийн нэр"
git config --global user.email "tanii@email.com"

Алхам 2 — .gitignore үүсгэх

bash
cat > .gitignore << 'EOF'
node_modules/
.env
.DS_Store
*.log
dist/
EOF

git add .gitignore
git commit -m "chore: .gitignore нэмэх"
git push origin main

Алхам 3 — Feature 1: README сайжруулах

bash
# Feature branch үүсгэнэ
git checkout -b feature/improve-readme

README.md файлыг дараах байдлаар өөрчилнэ:

markdown
# Миний Portfolio

Вэб хөгжүүлэгчийн хувийн portfolio сайт.

## Технологиуд

- HTML, CSS, JavaScript
- React, Next.js
- Git, GitHub

## Холбоо барих

- GitHub: github.com/taniiNer
- И-мэйл: tanii@example.com
bash
git add README.md
git commit -m "docs: README дэлгэрэнгүй болгох"
git push origin feature/improve-readme

GitHub дээр PR үүсгэх:

  1. Compare & pull request товч
  2. Гарчиг: docs: README дэлгэрэнгүй болгох
  3. Тайлбар: Portfolio тухай мэдээлэл, ашиглаж буй технологиудыг нэмсэн.
  4. Create pull requestMerge pull request
bash
# Local-д шинэчлэх
git checkout main
git pull origin main
git branch -d feature/improve-readme

Алхам 4 — Feature 2: Төслийн жагсаалт нэмэх

bash
git checkout -b feature/add-projects

projects.md файл үүсгэнэ:

markdown
# Төслүүд

## 1. Цаг агаарын апп

JavaScript болон OpenWeather API ашиглан хийсэн цаг агаарын апп.

**Технологи:** HTML, CSS, JavaScript  
**Линк:** github.com/taniiNer/weather-app

## 2. Todo апп

React ашиглан хийсэн даалгаварын жагсаалт.

**Технологи:** React, localStorage  
**Линк:** github.com/taniiNer/todo-app

## 3. Portfolio сайт

Хувийн portfolio вэб сайт.

**Технологи:** Next.js, Tailwind CSS  
**Линк:** github.com/taniiNer/personal-portfolio
bash
git add projects.md
git commit -m "feat: төслийн жагсаалт нэмэх"
git push origin feature/add-projects

GitHub дээр PR үүсгэж merge хийнэ.

bash
git checkout main
git pull origin main
git branch -d feature/add-projects

Алхам 5 — Feature 3: Алдааг засах (revert туршиж үзэх)

bash
git checkout -b feature/add-contact

contact.md файл үүсгэнэ:

markdown
# Холбоо барих

И-мэйл: tanii@example.com
bash
git add contact.md
git commit -m "feat: холбоо барих хуудас нэмэх"

# Алдаатай байна гэж үзье — нэмэлт мэдээлэл орхигдсон
# Засварлаж дахин commit хийнэ

contact.md-д нэмэлт мэдээлэл оруулна:

markdown
# Холбоо барих

И-мэйл: tanii@example.com  
GitHub: github.com/taniiNer  
LinkedIn: linkedin.com/in/taniiNer
bash
git add contact.md
git commit -m "feat: холбоо барих мэдээлэл бүрэн болгох"
git push origin feature/add-contact

GitHub дээр PR үүсгэж merge хийнэ.

bash
git checkout main
git pull origin main
git branch -d feature/add-contact

Алхам 6 — Tag ба release гаргах

bash
# Бүх ажил дуусмагц tag үүсгэнэ
git tag -a v1.0.0 -m "Portfolio-ийн анхны хувилбар"
git push --tags

GitHub дээр release үүсгэх:

  1. Repository → ReleasesCreate a new release
  2. Tag: v1.0.0
  3. Гарчиг: v1.0.0 — Анхны хувилбар
  4. Release notes:
markdown
## Анхны хувилбар

### Нэмэгдсэн зүйлс

- README дэлгэрэнгүй мэдээлэлтэй болсон
- Төслүүдийн жагсаалт нэмэгдсэн
- Холбоо барих мэдээлэл нэмэгдсэн
  1. Publish release

Алхам 7 — Commit түүхийг шалгах

bash
git log --oneline --graph

Хариу ийм харагдана:

код
* f2a1c3e (HEAD -> main, tag: v1.0.0) feat: холбоо барих мэдээлэл бүрэн болгох
* 9e3b21d feat: холбоо барих хуудас нэмэх
* 7c4d19a feat: төслийн жагсаалт нэмэх
* 5a2e83b docs: README дэлгэрэнгүй болгох
* 3f1c74d chore: .gitignore нэмэх
* 1b9a52c Initial commit

Та юу сурав

Энэ курсын туршид дараах зүйлсийг сурсан:

| Сэдэв | Команд | | ------------------- | -------------------------------------------- | | Repository эхлүүлэх | git init, git clone | | Өөрчлөлт хадгалах | git add, git commit | | Түүх харах | git log, git status, git diff | | Branch ажиллах | git branch, git checkout, git merge | | Алдаа засах | git reset, git revert, git cherry-pick | | GitHub-тэй ажиллах | git push, git pull, git fetch | | Хамтран ажиллах | Fork, Pull Request, Code review | | Хувилбар гаргах | git tag, GitHub release |

Git бол практикаар сурдаг хэрэгсэл. Өдөр бүр ашиглах тусам автоматаар гараасаа гарна.

Дараагийн алхам:

  • Нээлттэй эхийн проектод Fork хийж, жижиг PR гаргаж үзэх
  • GitHub Actions ашиглан CI/CD тохируулах
  • Багийнхантайгаа бодит проект дээр хамтран ажиллах