פעולות בסיסיות
משיכה ודחיפה
משיכת שינויים מהשרת:
מביא את כל השינויים האחרונים מהמאגר המרוחק ומשלב אותם עם הענף המקומי שלך
git pull
הוספת כל הקבצים לסטייג':
מוסיף את כל הקבצים שהשתנו (חדשים, ערוכים או נמחקו) לאזור ההכנה לפני הקומיט
git add .
יצירת קומיט:
שומר את השינויים שבסטייג' כקומיט חדש עם הודעה תיאורית
git commit -m "תיאור כלשהו"
דחיפה לענף main:
שולח את הקומיטים המקומיים שלך לענף main במאגר המרוחק
git push origin main
דחיפה לענף master:
שולח את הקומיטים המקומיים שלך לענף master במאגר המרוחק (שם ישן לענף ראשי)
git push origin master
עבודה עם DIFF
יצירת קבצי DIFF
⚠️ שים לב!
השינויים שלא בסטייג' - לא מוציא קבצים שהתווספו!!!
שינויים שלא בסטייג':
יוצר קובץ המכיל את כל ההבדלים בין הקבצים הנוכחיים לבין הקומיט האחרון (רק קבצים קיימים, לא חדשים)
git diff > DIFF1.TXT
שינויים שבסטייג':
יוצר קובץ המכיל את כל השינויים שכבר הוספו לסטייג' (עם git add) ומוכנים לקומיט
git diff --cached > DIFF.TXT
החלת DIFF:
מיישם את השינויים מקובץ DIFF על הקבצים הנוכחיים, תוך תיקון אוטומטי של בעיות רווחים
git apply --whitespace=fix diff-commit.txt
יצירת DIFF לקומיט ספציפי:
מייצא את כל השינויים שנעשו בקומיט מסוים לקובץ טקסט (החלף XXX במזהה הקומיט המלא)
git show 953e3a5747eXXX > diff-commit.txt
עריכת קומיטים
שינוי שם קומיט אחרון
משנה את הודעת הקומיט האחרון מבלי לשנות את התוכן שלו
git commit --amend -m "XXXXXXX"
הוספת קבצים לקומיט אחרון
הכנסת הקבצים שבסטייג' לקומיט האחרון:
מוסיף קבצים נוספים לקומיט האחרון מבלי לשנות את ההודעה שלו
git commit --amend --no-edit
דחיפה כפויה
אם כבר עודכן בגיטהאב:
כופה את הדחיפה גם אם יש קונפליקט עם המאגר המרוחק - משכתב את ההיסטוריה
git push --force
⚠️ זהירות!
שימוש ב-force push עלול לדרוס שינויים של אחרים
ביטולים
ביטול קומיט אחרון
מבטל את הקומיט האחרון אך שומר את השינויים בסטייג' - מאפשר לערוך ולעשות קומיט מחדש
git reset --soft HEAD~1
ביטול מיזוג
מבטל תהליך מיזוג (merge) שנתקע באמצע בגלל קונפליקטים ומחזיר למצב שלפני המיזוג
git merge --abort
עבודה עם Stash
שמירה והוצאה
הכנסת קבצים לסטאש:
שומר את כל השינויים הנוכחיים בצד באופן זמני, מנקה את ספריית העבודה - שימושי כשצריך לעבור לענף אחר
git stash push
הכנסת רק הקבצים שבסטייג' לסטאש:
שומר רק את הקבצים שכבר הוספת לסטייג' (עם git add), משאיר את השאר בספריית העבודה
git stash push --staged
הוצאה מהסטאש:
מחזיר את השינויים האחרונים שנשמרו בסטאש לספריית העבודה ומוחק אותם מהסטאש
git stash pop
עבודה עם ענפים ו-PR
משיכת Pull Request
משיכת PR:
מוריד Pull Request ספציפי מגיטהאב ויוצר ממנו ענף מקומי (החלף 40?? במספר ה-PR ו-branch_name בשם הענף הרצוי)
git fetch origin pull/40??/head:branch_name
מיזוג:
משלב את השינויים מהענף המצוין לתוך הענף הנוכחי שלך
git merge branch_name
מחיקת ענפים
מחיקה מקומית:
מוחק ענף מקומי בכוח, גם אם יש בו שינויים שלא מוזגו (החלף giXXX בשם הענף)
git branch -D giXXX
מחיקה בגיטהאב:
מוחק ענף מהמאגר המרוחק בגיטהאב (החלף giXXX בשם הענף)
git push origin --delete giXXX
GitHub CLI - Actions
בדיקת Actions
רשימת ריצות:
מציג רשימה של כל הריצות האחרונות של GitHub Actions במאגר הנוכחי
gh run list
בדיקת ריצה ספציפית:
מציג פרטים מלאים על ריצת Action ספציפית לפי מספר המזהה שלה
gh run view --job=[מספר ID]
בדיקה אוטומטית כל 3 שניות:
עוקב אחרי ריצת Action בזמן אמת, מתעדכן אוטומטית כל 3 שניות עד לסיום
gh run watch
💡 טיפ
לאחר הפקודה, הוא מציג את התהליך הרץ - לחץ Enter
יצירת ריצת Action ידנית:
מפעיל ידנית workflow ספציפי על ענף main (החלף ???.yml בשם קובץ ה-workflow)
gh workflow run ???.yml --ref main
סנכרון מוחלט
איפוס מלא לגיטהאב
השוואת המאגר המקומי לגיטהאב באופן מוחלט:
מאפס את כל הקבצים למצב המדויק של ענף main בגיטהאב - מוחק את כל השינויים המקומיים
git reset --hard origin/main
מוחק את כל הקבצים והתיקיות שלא במעקב Git (untracked files)
git clean -fd
⚠️ אזהרה!
פעולה זו תמחק את כל השינויים המקומיים שלא נשמרו!
כלים נוספים
Repomix
כלי לאריזת המאגר לקובץ אחד תוך התעלמות מקבצים מסוימים - שימושי לשיתוף עם AI
repomix --ignore "assets/otzar_books.csv,assets/hebrew_books.csv,assets/metadata.json,installer/otzaria_full.iss,assets/ca/netfree_cas.pem,sivan22.pfx"
VS Code
פתיחה בטאב חדש:
פותח את הקובץ הנוכחי בטאב חדש ב-VS Code
Ctrl+Shift+P → "line: Open In New Tab"
Dart Analysis Server
הפעלה מחדש
פתח את Command Palette:
פותח את תפריט הפקודות של VS Code
Ctrl+Shift+P
והרץ:
מפעיל מחדש את שרת הניתוח של Dart - פותר בעיות של שגיאות שנתקעו או ניתוח לא מדויק
Dart: Restart Analysis Server
💡 טיפ
בדרך כלל זה לבד מנקה שגיאות "תקועות" ומפעיל ניתוח קוד מחדש
פקודות נוספות
הוסף פקודות משלך
כאן תוכל להוסיף פקודות נוספות שאתה משתמש בהן לעיתים קרובות
הוסף פקודה חדשה:
CopyCode