Fork ба open source
Fork нь бусдын repository-г өөрийн GitHub акаунт руу хуулбарлах үйлдэл юм. Open source проектод хувь нэмэр оруулах үндсэн арга.
Fork vs Clone — ялгаа
| | Fork | Clone | | ----------- | -------------------------------- | ------------------------------- | | Хаана үүснэ | Таны GitHub акаунт дээр | Таны компьютерт | | Зориулалт | Бусдын repo-д хувь нэмэр оруулах | Дурын repo-г local-д ажиллуулах | | Push эрх | Зөвхөн fork руугаа | Эрхтэй repo руу |
Fork хийх
- Хувь нэмэр оруулах repository руу орно
- Баруун дээд буланд Fork товчийг дарна
- Create fork товчийг дарна
Тэр даруй github.com/танийнэр/repo-name хаягт таны fork үүснэ.
Fork-г local-д татах
# Таны fork-г clone хийнэ (HTTPS эсвэл SSH)
git clone git@github.com:taniiNer/repo-name.git
cd repo-name
Upstream remote нэмэх
Fork хийсний дараа origin remote таны fork руу заана. Гэхдээ эх repository-тай sync хийхийн тулд upstream remote нэмэх хэрэгтэй:
# Эх repository-г upstream гэж нэмнэ
git remote add upstream git@github.com:anhniiNer/repo-name.git
# Remote-уудыг шалгана
git remote -v
Хариу:
origin git@github.com:taniiNer/repo-name.git (fetch)
origin git@github.com:taniiNer/repo-name.git (push)
upstream git@github.com:anhniiNer/repo-name.git (fetch)
upstream git@github.com:anhniiNer/repo-name.git (push)
Upstream-с sync хийх
Эх repository-д шинэ өөрчлөлт гарсан бол таны fork-г шинэчлэх:
# Эх repo-с шинэ мэдээлэл татах
git fetch upstream
# Таны main branch руу шилжих
git checkout main
# upstream/main-г нэгтгэх
git merge upstream/main
# Таны fork-г шинэчлэх
git push origin main
Энэ дарааллыг тогтмол хийснээр таны fork эх repository-тай хамгийн сүүлийн хувилбарт байна.
Open source-д хувь нэмэр оруулах workflow
[Эх repo] → Fork → [Таны GitHub] → Clone → [Таны компьютер]
↓
Branch үүсгэх
↓
Кодоо бичих
↓
Таны fork руу push
↓
Pull Request үүсгэх
↓
[Эх repo-д merge хүлээх]
Практик жишээ:
# 1. Fork хийсний дараа clone
git clone git@github.com:taniiNer/awesome-project.git
cd awesome-project
# 2. Upstream нэмэх
git remote add upstream git@github.com:anhniiNer/awesome-project.git
# 3. Шинэ branch үүсгэх
git checkout -b fix/typo-in-readme
# 4. Өөрчлөлт хийх
# ... README.md засах ...
git add README.md
git commit -m "fix: README дахь үсгийн алдаа засах"
# 5. Таны fork руу push
git push origin fix/typo-in-readme
# 6. GitHub дээр PR үүсгэх
# github.com/taniiNer/awesome-project → "Compare & pull request"
CONTRIBUTING.md
Том open source проектуудад CONTRIBUTING.md файл байдаг. Энэ файлд хувь нэмэр оруулах дүрмүүд бичигдсэн байна — заавал уншаарай:
- Commit message-ийн дүрэм
- Code style шаардлага
- PR гаргахаас өмнө хийх зүйлс
- Issue-г хэрхэн тайлбарлах вэ
Дараагийн хичээлд:
Tag болон release үүсгэх, semantic versioning-г үзнэ.