چهار تمرین عملی از ساخت مخزن تا PR. هر تمرین را خودت اجرا کن؛ فقط خواندن کافی نیست.
🎯 اهداف یادگیری
- چهار سناریوی واقعی را کامل طی کنی
- از VS Code و
ghبا هم استفاده کنی - خروجی قابلنمایش برای رزومه بسازی
🧪 پروژه ۱ — مخزن شخصی تمیز
هدف: ریپوی learning-git با README فارسی، LICENSE، و دو کامیت Conventional.
اسکلت
mkdir learning-git && cd learning-git git init -b main # README و LICENSE بساز git add README.md LICENSE git commit -m "chore: bootstrap learning repo" gh repo create learning-git --public --source=. --remote=origin --push
در VS Code Publish را هم میتوانی بزنی. معیار موفقیت: کامیت Verified، ریپو با About و Topic.
🧪 پروژه ۲ — فیچر با PR و تعارض عمدی
- شاخه
feat/helloاز main - فایل
hello.mdرا تغییر بده، PR باز کن (Draft) - روی main همان فایل را جور دیگر عوض کن و push کن (با PR جدا یا مستقیم اگر آزمایش شخصی است)
- تعارض را در VS Code Merge Editor حل کن
- CI حداقلی (حتی
echo ok) بگذار تا Check سبز شود - Squash merge
معیار: اسکرین شات Merge Editor در README کارگاه.
🧪 پروژه ۳ — accidental secret و نجات
- عمداً
.envرا کامیت کن - Push protection اگر گرفت، آفرین — دورش نزن
- اگر نگرفت:
rm --cached، gitignore، توکن ساختگی را rotate فرض کن - توضیح بده چرا filter-repo لازم میشد اگر توکن واقعی بود
هرگز توکن واقعی تمرین نکن
فقط مقدار SECRET=fake .
🧪 پروژه ۴ — Actions و PDF
اگر همین کتاب را میسازی:
ایده
- python src/build.py --html # artifact HTML را آپلود کن
PR که CSS را عوض میکند باید HTML را بهعنوان artifact بسازد. معیار: تب Checks در VS Code سبز.
🧩 چالش اضافه (سطح Senior)
- worktree جدا برای hotfix
rebase -iبرای تمیز کردن پنج کامیت WIP- Ruleset روی
mainدر ریپوی خودت (اگر حساب اجازه میدهد) gh pr createبدون مرورگر
خروجی قابلاشتراک
یک gist یا بخش README با فرمانهای استفادهشده و دو اسکرین: Graph قبل/بعد از rebase.
✅ چکلیست فهم
- چهار پروژه تیک خورده
- حداقل یک تعارض واقعی حل شده
- یک workflow سبز دیدهای
فصل بعد: بیست اشتباه رایج.