اگر آموزشهای خشک و فهرستوار Git باعث شدهاند دستورها را زود فراموش کنی، این دوره مسیر متفاوتی دارد. در «آموزش گیت پروژهمحور» قرار نیست فقط چند فرمان را حفظ کنی؛ از همان ابتدا وارد یک پروژه واقعی میشوی، تغییر ایجاد میکنی، اشتباه میکنی، تاریخچه میسازی، تعارض حل میکنی و در نهایت پروژهات را روی اینترنت منتشر میکنی.
داستان دوره برداشتی آزاد از منطقالطیر عطار است. پرندگان برای یافتن سیمرغ راهی قلهٔ قاف میشوند و تو در نقش «کاتب دیجیتال کاروان» مسئول ثبت و نگهداری مسیر آنها هستی. هر وادی، یکی از مهارتهای مهم Git را به تو یاد میدهد و اشعار اصیل عطار، اتفاقهای پروژه را به داستان سفر پیوند میزنند.
پروژهای که میسازی
در آغاز، یک فایل ساده به نام index.html تحویل میگیری؛ دفتر دیجیتال سفر پرندگان. با پیشرفت دوره، همین پروژه را مرحلهبهمرحله توسعه میدهی:
آن را به یک مخزن Git تبدیل میکنی.
تغییرات پروژه را انتخاب و Commit میکنی.
تاریخچه را بررسی و اشتباهها را اصلاح میکنی.
شاخههای جداگانه میسازی و آنها را ادغام میکنی.
یک Merge Conflict واقعی ایجاد و حل میکنی.
پروژه را به GitHub متصل میکنی.
با Fork، Pull Request و Code Review همکاری تیمی انجام میدهی.
نسخه نهایی v1.0.0 را منتشر میکنی.
سایت پروژه را با GitHub Pages روی اینترنت قرار میدهی.
بنابراین خروجی دوره فقط چند تمرین پراکنده نیست؛ یک پروژه کامل با تاریخچه واقعی، شاخهها، نسخه انتشار و نشانی عمومی خواهد بود.
در این دوره چه چیزهایی یاد میگیری؟
پس از پایان دوره میتوانی:
تفاوت Working Directory، Staging Area و Repository را توضیح بدهی.
با git init یک مخزن جدید بسازی.
وضعیت فایلها را با git status بررسی کنی.
تغییرات دلخواه را با git add وارد Staging Area کنی.
با پیامهای واضح و استاندارد Commit بسازی.
تاریخچه را با git log و git show بخوانی.
تغییرات را با git diff و git diff --staged مقایسه کنی.
فایلهای اضافی و محرمانه را با .gitignore از ردیابی کنار بگذاری.
تغییرات ناخواسته را با git restore مدیریت کنی.
فایلهای آمادهشده را بدون حذف تغییرات Unstage کنی.
با Branchها قابلیتهای مختلف را جداگانه توسعه بدهی.
شاخهها را با روشهای Fast-forward و --no-ff ادغام کنی.
Merge Conflict را تشخیص بدهی و بهدرستی حل کنی.
تغییرات نیمهتمام را با git stash موقتاً کنار بگذاری.
تفاوت reset نرم و سخت را درک کنی و ابزار مناسب را انتخاب کنی.
تغییر یک Commit عمومی را با git revert خنثی کنی.
نسخههای مهم پروژه را با Tag مشخص کنی.
یک Commit خاص را با cherry-pick به شاخه دیگری منتقل کنی.
با rebase تاریخچه شاخههای محلی را مرتبتر کنی.
پروژه محلی را به یک مخزن GitHub متصل کنی.
با push، fetch، pull و clone کار کنی.
تفاوت Fork، Clone و Branch را تشخیص بدهی.
Pull Request بسازی و در فرایند Code Review شرکت کنی.
یک گردشکار شاخهای مانند Git Flow را تمرین کنی.
نسخه رسمی پروژه را با GitHub Release منتشر کنی.
سایت استاتیک خود را با GitHub Pages در دسترس دیگران قرار بدهی.
مسیر هشتفصلی دوره
فصل اول: دعوت هدهد
با داستان سیمرغ، پروژه دوره و نقش خودت بهعنوان کاتب دیجیتال آشنا میشوی. Git را روی سیستم بررسی میکنی، هویت نویسنده Commitها را میسازی و نخستین مخزن محلی را با git init راه میاندازی.
فصل دوم: وادی طلب
اولین تغییرهای واقعی پروژه را ثبت میکنی. در این فصل با git add، Staging Area، git commit، پیام Commit و خواندن تاریخچه با git log آشنا میشوی.
فصل سوم: وادی عشق
یاد میگیری پیش از ثبت تغییرات، آنها را دقیق ببینی. با git diff، .gitignore، git restore و git restore --staged کار میکنی و تفاوت میان فایل تغییرکرده، آمادهشده و ثبتشده را میفهمی.
فصل چهارم: وادی معرفت
برای هر مسیر یک Branch جدا میسازی. شاخهها را ادغام میکنی، نمودار تاریخچه را میخوانی و یک تعارض واقعی را در index.html تا رسیدن به نسخه نهایی حل میکنی.
فصل پنجم: وادی استغنا
ابزارهای بازیابی و مدیریت اشتباهها را یاد میگیری. با stash، reset و revert کار میکنی و میفهمی در هر موقعیت کدام ابزار امنتر و مناسبتر است.
فصل ششم: وادی توحید
با ابزارهای پیشرفتهتر Git آشنا میشوی. نسخههای مهم را Tag میزنی، یک Commit منتخب را با cherry-pick منتقل میکنی و تاریخچه محلی را با rebase مرتب میسازی.
فصل هفتم: وادی حیرت
پروژه محلی را به GitHub متصل میکنی و با Remoteها، push، fetch، pull و clone کار میکنی. در این فصل تفاوت پروژه محلی و مخزن ابری را در عمل میبینی.
فصل هشتم: وادی فقر و فنا
کار فردی به همکاری تیمی تبدیل میشود. Fork میسازی، Pull Request باز میکنی، بازخورد Code Review را اعمال میکنی، نسخه v1.0.0 را منتشر میکنی و دفتر سفر را با GitHub Pages روی اینترنت قرار میدهی.
روش آموزش دوره
این دوره بر اساس «یادگیری با انجامدادن» طراحی شده است. هر مفهوم بعد از یک توضیح کوتاه، با فرمان واقعی، تغییر فایل، سؤال تعاملی یا چالش عملی ادامه پیدا میکند.
۸ فصل داستانی
۳۶ درس
۴۹۲ قدم کوتاه و هدفمند
بیش از ۷۰٪ تمرین و چالش عملی
حدود ۳۲ ساعت مسیر آموزشی
یک پروژه واحد از ابتدا تا انتشار
تمرین در ترمینال، VS Code و GitHub
قدمهای کوتاه ۳ تا ۵ دقیقهای
نشان ویژه در پایان هر وادی
این دوره برای چه کسانی مناسب است؟
این دوره برای تو مناسب است اگر:
هیچ تجربهای از Git و GitHub نداری.
برنامهنویسی را تازه شروع کردهای.
دستورهای Git را دیدهای اما کاربردشان را خوب نمیفهمی.
هنگام کار با Branch، Merge یا Conflict سردرگم میشوی.
میخواهی برای پروژههای شخصی، دانشگاهی یا تیمی آماده شوی.
از آموزشهای خشک خسته شدهای و با داستان و تمرین بهتر یاد میگیری.
نوجوان یا جوانی هستی که میخواهی یک مهارت واقعی و کاربردی یاد بگیری.
پیشنیازهای دوره
برای شروع این دوره نیازی به تجربه برنامهنویسی نداری. آشنایی ساده با فایل و پوشه کافی است.
در طول دوره از این ابزارها استفاده میکنی:
دستاورد نهایی تو
در پایان این سفر، فقط تعریف Git را بلد نیستی؛ میتوانی یک پروژه را از صفر وارد کنترل نسخه کنی، تاریخچهای منظم بسازی، اشتباهها را مدیریت کنی، با دیگران همکاری داشته باشی و نتیجه کارت را روی GitHub منتشر کنی.
پروژه نهایی تو یک مخزن واقعی و قابل نمایش است که Commitها، Branchها، Mergeها، Tag، Release، Pull Request و نسخه آنلاین GitHub Pages را در خود دارد.
گیت را حفظ نکن؛ در هفت وادی تجربهاش کن.