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سه تا چيزهايي که بايد به ياد داشته باشي:
- اغلب ذخیره کنید (
git commit) - فشار به راه دور (
git push) - بخش آزمایش (
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ازش استفاده کن
براي اين دوره، به اين دستورات نياز داريد:
| Command | When |
|---|---|
git clone | Get the course repo |
git add + git commit | Save your work |
git push | Back it up to GitHub |
git checkout -b | Try something without breaking main |
git log --oneline | See what you've done |
اين تمام شد، براي اين دوره به بازيابي، انتخاب کرسي و يا ذيلي ماژول ها نياز ندارين
تمرینات
- این ریپو رو بکش، شکنی خود را کلان، یک شاخه به نام
my-progress، پرونده اي بساز، انجامش بده، فشارش بده - ایجاد یک
.gitignoreکه نمونه پرونده های پسته های بازرسی را از بین می برد (.pt،.pth،.safetensors) - به سابقه انجام اين رپو نگاه کنيد
git log --onelineو بخونيد که چطور درس ها اضافه شده
اصطلاحات کلیدی
| Term | What people say | What 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.