رفتن به محتوا
LoopX

آزمون پایانی دوره‌ی Git

این آزمون هر چهار بخش دوره‌ی Git را با ۳۳ سؤال سناریویی می‌سنجد. بعد از هر پاسخ، جواب درست و توضیح را می‌بینی و نتیجه‌ی نهایی در پیشرفت من ذخیره می‌شود. نمره‌ی ۲۷ از ۳۳ یا بیشتر یعنی آماده‌ای در یک تیم واقعی با Git کار کنی؛ پایین‌تر از آن، درس‌هایی را که سؤال‌هایشان را غلط زدی مرور کن. قدم بعدی دوره‌ی Docker و بعد Nginx است.

؟ آزمون پایانی دوره‌ی Git
  1. GitHub یک ماه از دسترس خارج است. با کلون‌هایی که دارید چه کارهایی هنوز ممکن است؟

  2. در git status -s خط «MM app.py» یعنی چه؟

  3. user.email را هم در ~/.gitconfig و هم در .git/config گذاشته‌ای؛ داخل آن مخزن کدام استفاده می‌شود؟

  4. کدام پیام commit بهتر است؟

  5. کدام دستور آنچه با commit بعدی ثبت می‌شود را نشان می‌دهد؟

  6. می‌خواهی بدانی چه commit ای متن «timeout=30» را برای اولین بار اضافه کرده. کدام؟

  7. پس از git reset --hard HEAD~2 می‌فهمی دو commit لازم بودند. چه می‌کنی؟

  8. یک commit را push کرده‌ای و دیگران گرفته‌اند؛ اشتباه بوده. بهترین کار؟

  9. فایل .env را بعد از commit شدن به .gitignore اضافه کردی. چه می‌شود؟

  10. main بعد از جداشدن feature هیچ commit جدیدی ندارد. git merge feature چه می‌کند؟

  11. conflict را حل کرده‌ای. قدم بعد؟

  12. در ادغام، git checkout --ours فایل نسخه‌ی کدام شاخه را می‌آورد؟

  13. قانون طلایی rebase؟

  14. سه commit «wip» را می‌خواهی یکی کنی. در rebase تعاملی؟

  15. فایل جدید (untracked) داری و می‌خواهی با بقیه‌ی تغییرها کنار بگذاری. کدام؟

  16. پروژه‌ات 2.3.1 است. یک باگ سازگار را درست می‌کنی. نسخه‌ی بعد؟

  17. tag ساخته‌ای ولی همکارت آن را نمی‌بیند. چرا؟

  18. push تو با «rejected (fetch first)» رد شد. بهترین کار؟

  19. ssh -T git@github.com با «Connection timed out» تمام می‌شود. محتمل‌ترین علت و راه‌حل؟

  20. کدام فایل را به GitHub می‌دهی؟

  21. مخزن GitHub را با README ساخته‌ای و پروژه‌ی محلی با تاریخچه‌ی خودت داری؛ git pull چه می‌گوید؟

  22. برگه‌ی «Files changed» یک PR معادل کدام دستور است؟

  23. در «Squash and merge» با PR ای که ۵ commit دارد؟

  24. پیام «feat(api)!: remove v1 endpoints» در Conventional Commits نسخه را چطور بالا می‌برد؟

  25. چرا hook های `.git/hooks` برای اعمال قاعده‌ی تیمی کافی نیستند؟

  26. در workflow ی GitHub Actions اولین step معمولاً «uses: actions/checkout@v4» است. چرا؟

  27. چرا ${{ github.event.pull_request.title }} را نباید مستقیم داخل run: بگذاری؟

  28. شاخه‌ای را با git branch -D پاک کرده‌ای. چطور برمی‌گردانی؟

  29. رفع باگ را فقط به شاخه‌ی انتشار v1.0 می‌خواهی (بدون ویژگی‌های نیمه‌تمام main). کدام؟

  30. git bisect run ./test.sh چه می‌کند؟

  31. چهار نوع شیء Git؟

  32. چرا «بازنویسی تاریخچه» (amend، rebase) در واقع commit جدید می‌سازد؟

  33. در پروژه‌ی تیمی، چرا بعد از حل conflict حتماً تست اجرا می‌کنی؟