گیت
گیت را واقعی یاد بگیرید. کامیتها، برنچها، ریموتها، ریبیس، حل تعارض، بازیابی و فرآیندهای پول ریکوئست.
13 درس، به ترتیب
- 125 دقیقه
راهاندازی اولیه و اولین کامیت (commit) شما
تصور کنید در یک ویرایشگر متن مقالهای مینویسید و هر بار که تغییر مهمی میدهید یک نسخهی کامل با نامی تازه ذخیره میکنید: essay-v2 و essay-v3 و...
Git initGit configWorking treeStaging areaGit addGit commit - 225 دقیقه
وضعیت، تفاوتها و لاگ
در درس قبل یک کامیت ساختید، و آن دقیقا یک عکس لحظهای است. کار واقعی یعنی ویرایش فایلها بارها و بارها، و پیش از هر کامیت به جواب سه پرسش نیاز دارید:...
Git statusGit diffGit diff --stagedGit logLog formatting - 330 دقیقه
برنچها (branch) و مرج (merge)
تا اینجا هر کامیتی که ساختهاید روی یک خط واحد از تاریخچه به نام main نشسته است. کار واقعی بهندرت اینقدر ساده میماند. گاهی میخواهید ایدهای را...
Git branchGit switchFast-forward mergeThree-way mergeMerge commit - 430 دقیقه
حل تعارضهای مرج (merge)
بار اولی که Git از تمام کردن یک ادغام سر باز میزند، آدم خیال میکند چیزی خراب شده است. چیزی خراب نشده. تعارض ادغام (merge conflict) وقتی پیش میآید...
Merge conflict markersManual resolutionGit add after resolvingGit merge --abortMergetool - 530 دقیقه
ریموتها (remote): پوش (push)، پول (pull)، فچ (fetch)
هرچه تا اینجا انجام دادهاید فقط روی ماشین خودتان است. برای تمرین کردن مشکلی ندارد، اما پروژههای واقعی به یک نسخه مشترک نیاز دارند که آدمهای دیگر،...
Git remote addGit pushGit fetchGit pullUpstream tracking - 625 دقیقه
استش (stash) و چریپیک (cherry-pick)
وسط یک تغییر هستید، فایلها ویرایش شده و هیچچیز تمام نشده، که همتیمیتان پیام میدهد: «میشود همین حالا یک باگ روی main را نگاه کنی؟» کار نیمهکاره...
Git stashGit stash popGit stash listGit cherry-pick - 730 دقیقه
ریبیس (rebase) کردن
دوشنبه از main یک شاخه جدا کردید تا یک کادر جستوجو اضافه کنید. حالا پنجشنبه است، سه کامیت دارید، و در این فاصله چهار نفر دیگر روی main کامیت...
Git rebaseReplay on topLinear historyWhen not to rebase - 830 دقیقه
ریبیس (rebase) تعاملی و اسکواش (squash) کردن
کار واقعی در یک کامیت تمیز جمع نمیشود. یک بار کامیت میکنید، پنج دقیقه بعد باز کامیت میکنید چون چشمتان به یک غلط تایپی افتاده، بار سوم هم کامیت...
Git rebase -iPickSquashFixupRewordAutosquash - 920 دقیقه
تگها (tag) و ریلیزها (release)
شاخهای مثل main یک نشانک متحرک است. به هر کامیتی که آخرین کامیت باشد اشاره میکند و همین که دوباره کامیت بزنید، جلو میسُرد و به جای تازهای میرود....
Lightweight tagAnnotated tagGit tag -aGit push --tagsGitHub releases - 1020 دقیقه
گردشکارهای برنچ (branch)
هرچه تا اینجا یاد گرفتهاید، شاخه زدن، ادغام، ریبیس، برچسبگذاری، به شما میگوید دستورهای Git چه میکنند، اما هیچکدام نمیگوید کِی باید شاخه...
Trunk-based developmentGitHub FlowGit FlowShort-lived branches - 1125 دقیقه
بازیابی کارهای از دست رفته
بالاخره یک روز دستوری را تایپ میکنید، Enter میزنید، ترمینال با خونسردی چیزی قطعی چاپ میکند و تازه میفهمید که کار یک روز کاملتان را پاک کردهاید....
Git reflogRecovering from reset --hardGit fsck --lost-found30-day grace period - 1225 دقیقه
هوکها (hook)
هر تیمی قاعدهای دارد که همه با آن موافقاند و همه فراموشش میکنند. پیش از کامیت ابزار قالببندی را اجرا کنید. آن دستور چاپی که ساعت دو بامداد برای...
Client-side hooks.git/hooksPre-commitShell hook examplePre-commit framework - 1340 دقیقه
پروژه نهایی: یک جریان کامل Pull Request
تا اینجا همه چیز تکهتکه بود: یک کامیت اینجا، یک شاخه آنجا، و یک ریبیس هر وقت تاریخچه نیاز به صاف شدن داشت. در کار واقعی این تکهها با هم و به شکل...
CloneFeature branchPushGh pr createFixup commitsAutosquash rebase+1
گیت را به زبان خودت یاد بگیر
هر درس، آزمون و پاسخ مربی به زبان شما نمایش داده میشود. مربی هوشمند به همان زبانی پاسخ میدهد که شما سوال میکنید.
Roles that use Git
See how hiring teams interview engineers on Git, in production-like environments.
Developer Experience Engineer
Hire DX engineers in real workspaces with real CLIs, real dev loops and real onboarding friction to fix. Live or take-home.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interview