Phase 00: Setup & Tooling

Git & همکاری

کنترل نسخه اختیاری نیست هر آزمایش، هر مدل، هر درس که اینجا می سازید ردیابی می شود.

Type: Learn

Languages: --

Prerequisites: Phase 0, Lesson 01

Time: ~30 minutes

اهداف یادگیری

  • تنظیم هویت git و استفاده از جریان کار روزانه اضافه کردن، تعهد و فشار
  • ایجاد و ترکیب شاخه ها برای آزمایش های جداگانه بدون شکستن اصلی
  • يه حرف بنويس.gitignoreکه از نقاط بازرسی مدل و فایل های دوگانه بزرگ خارج می شود
  • با تاریخچه انجام کار را مرور کنیدgit logدرک تحول پروژه

مشکل

شما در حال نوشتن صدها فایل کد در 20 مرحله هستید بدون کنترل نسخه شما کار خود را از دست می دهید، چیزهایی را که نمی توانید از بین ببرید، و هیچ راهی برای همکاری با دیگران ندارید.

Git ابزار است. GitHub جایی است که کد زندگی می کند. این درس شامل آنچه که شما برای این دوره نیاز دارید و چیزی بیشتر نیست.

مفهوم

sequenceDiagram
    participant WD as Working Directory
    participant SA as Staging Area
    participant LR as Local Repo
    participant R as Remote (GitHub)
    WD->>SA: git add
    SA->>LR: git commit
    LR->>R: git push
    R->>LR: git fetch
    LR->>WD: git pull

سه تا چيزهايي که بايد به ياد داشته باشي:

  1. اغلب ذخیره کنید (git commit)
  2. فشار به راه دور (git push)
  3. بخش آزمایش (git checkout -b experiment)

آن را بسازید

مرحله اول: تنظیم git

bashgit config --global user.name "Your Name"
git config --global user.email "you@example.com"

مرحله دوم: جریان کاری روزانه

bashgit status
git add file.py
git commit -m "Add perceptron implementation"
git push origin main

مرحله سوم: شاخه بندی برای آزمایش

bashgit checkout -b experiment/new-optimizer

# ... make changes, commit ...

git checkout main
git merge experiment/new-optimizer

مرحله 4: کار با این دوره repo

شما نمی توانید به خود repo دوره فشار دهید فقط نگهبانان دسترسی به نوشتن دارند. ابتدا آن را در GitHub (دکمه Fork، بالا سمت راست)originنکات در نسخه ی خودتون:

bashgit clone https://github.com/YOUR-USERNAME/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

git checkout -b my-progress
# work through lessons, commit your code
git push origin my-progress

ازش استفاده کن

براي اين دوره، به اين دستورات نياز داريد:

CommandWhen
git cloneGet the course repo
git add + git commitSave your work
git pushBack it up to GitHub
git checkout -bTry something without breaking main
git log --onelineSee what you've done

اين تمام شد، براي اين دوره به بازيابي، انتخاب کرسي و يا ذيلي ماژول ها نياز ندارين

تمرینات

  1. این ریپو رو بکش، شکنی خود را کلان، یک شاخه به نامmy-progress، پرونده اي بساز، انجامش بده، فشارش بده
  2. ایجاد یک.gitignoreکه نمونه پرونده های پسته های بازرسی را از بین می برد (.pt،.pth،.safetensors)
  3. به سابقه انجام اين رپو نگاه کنيدgit log --onelineو بخونيد که چطور درس ها اضافه شده

اصطلاحات کلیدی

TermWhat people sayWhat it actually means
Commit"Saving"A snapshot of your entire project at a point in time
Branch"A copy"A pointer to a commit that moves forward as you work
Merge"Combining code"Taking changes from one branch and applying them to another
Remote"The cloud"A copy of your repo hosted somewhere else (GitHub, GitLab)

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.