יודעים מה אפשר לשחזר
תבחינו בין checkpoint, commit ו-PR. הפלטים להמחשה.
התיעוד שנבדק ב-30 בספטמבר 2026 אומר ש-checkpoints עוקבים אחר חלק מעריכות כלי הקבצים, לא כל שינוי או השפעה חיצונית. Git נותן היסטוריה קבועה, אבל commit דורש סקירת תוכן.
שינויים קיימים
git status --short
git diff
אלה בדיקות. קראו כל קובץ וזהו שינוי קודם. אין לבצע stage לכל הקבצים בלי הבחנה.
סקור diff ללא עריכה.
הפרד שינוי כפתור מעבודה קודמת.
ציין תוכן נשמר, בדיקות בפועל ומה נותר.
אל תבצע stage, commit, push או PR.
פלט טוב מציין קבצים וחסרים, לא ״בטוח״ בגלל diff קצר.
Checkpoint ו-Rewind
/rewind מציע קוד, שיחה או שניהם כשיש שינוי tracked, וגם סיכום. שיחה בלבד משאירה קוד. סיכום אינו שחזור.
המקור מוציא שינויי Bash, עריכות רבות של workers ברקע, שינוי חיצוני ושחזור symlink/hard-link. מסד מרוחק, הודעה ו-deploy אינם מתבטלים. אין ללמוד באמצעות מחיקת קובץ אמיתי.
תרגלו בעותק מתכלה עם בסיס שמור. בדקו checkpoint ובסוף השוו קובץ. הצלחת תפריט אינה הוכחה שכל נתיב חזר.
הצעת commit
אחרי בדיקות התנהגות ומראה:
הצע קובץ תרגול מדויק ל-commit ונוסח קצר.
אל תבצע stage או commit. הוצא סודות, קבצים צדדיים ו-logs.
הצעה לדוגמה:
קובץ: index.html.
נוסח: Add accessible course-unit toggle.
לא נכלל: קבצים צדדיים ורשומות סשן.
בדיקה שנותרה: [רק אם באמת לא בוצעה].
אם בוחרים commit מקומי, עושים stage לקובץ, בודקים staged diff ואז מבצעים. אין צורך ב-push, PR או merge. טיוטת נוסח אינה commit שבוצע.
מרחוק זו פעולה נפרדת
Push שולח קוד לחשבון מרוחק. PR מציג קוד, נוסח ותגובות לקהל מאגר. Merge יכול להפעיל פרסום או אוטומציה. בדקו יעד, branch, תוכן והשפעה לפני פעולה.
הכן טיוטת סיכום PR מה-diff המאומת לבדיקה בלבד.
הפרד שינוי, בדיקות בפועל ומגבלות.
אל תשלח, תיצור PR, תתייג או תמזג.
השוו למקור. CI שעבר אינו אישור merge.
תרגול מדורג
קל: diff
זהו מה השתנה. הצלחה: עבודה צדדית אינה נכללת.
בינוני: עותק משוחזר
בדקו checkpoint בעותק. הצלחה: השוואת בסיס והבנת מגבלות.
מאתגר: הכנת commit
קבצים ונוסח. הצלחה: תוכן בר בדיקה וללא פעולה מרוחקת.
תקלות
Bash לא שוחזר: מגבלה מתועדת; עותק או Git מתאים.
קובץ staged מפתיע: הוציאו מדויק אחרי בדיקה, לא ניקוי הרסני.
remote שגוי: עצרו לפני push.
אוטומציה ב-PR: בדקו כללים לפני תגובה ומיזוג.
השפעה נשלחה: Git מקומי אינו מבטל מצב חיצוני.