מה זה Git ו-GitHub?
Git הוא מערכת version control – כלי שמאפשר לצוות מפתחים לעבוד על אותו קוד בו-זמנית מבלי לדרוך אחד לשני. GitHub היא פלטפורמת ענן (של Microsoft) שמארחת פרויקטי Git ומוסיפה שיתוף פעולה: Pull Requests, Issues, Actions (CI/CD), ו-Code Review. Git הוא הכלי, GitHub הוא הפלטפורמה.
Git – מושגי יסוד
- Repository (Repo) – תיקיית פרויקט תחת מעקב Git
- Commit – שמירת נקודה בזמן של הקוד (“snapshot”) עם הסבר
- Branch – נתיב פיתוח מקבילי, לא משפיע על main
- Merge – איחוד שני branches
- Pull Request (PR) – בקשה להכניס branch שלכם ל-main, כולל code review
- Push – העלאת commits מהמחשב שלכם לשרת
- Pull – הורדת commits מהשרת למחשב שלכם
למה Git הכרחי?
- Version History – לראות מי שינה מה ומתי, לחזור אחורה
- Collaboration – כמה מפתחים על אותו קוד בלי conflicts
- Branching – לפתח feature חדש בלי לשבור את הפרודקשן
- Backup – הקוד שמור בענן, לא רק על מחשב אחד
- CI/CD Integration – כל push מפעיל pipeline אוטומטי
- Open Source – שיתוף פעולה גלובלי
GitHub vs GitLab vs Bitbucket
| קטגוריה | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| בעלות | Microsoft | עצמאי | Atlassian |
| שוק | הגדול ביותר | שני | קטן יותר |
| Open Source | חינם ללא הגבלה | חינם, כולל self-host | חינם עד 5 users |
| CI/CD | Actions | CI/CD מובנה | Pipelines |
| Copilot | מובנה | Duo | אין |
| Enterprise | חזק | הכי חזק (DevSecOps) | Atlassian ecosystem |
Workflow טיפוסי ב-2026
- git clone – הורדת הפרויקט
- git checkout -b feature/new-thing – יצירת branch חדש
- עובדים על הקוד
- git add . && git commit -m “message” – שמירת שינויים
- git push origin feature/new-thing – העלאה ל-GitHub
- פתיחת Pull Request ב-GitHub
- Code Review מ-teammate
- CI (Actions) מריץ טסטים
- Merge to main → Deploy אוטומטי
Best Practices
- Commit messages ברורים – “fix login bug” ולא “stuff”
- Commits קטנים וממוקדים – אחד לכל שינוי לוגי
- Branch naming – feature/, bugfix/, hotfix/
- אף פעם לא לעשות force push ל-main
- Pull Requests קטנים – קל יותר לעשות code review
- Rebase לפני merge – היסטוריה נקייה
- .gitignore – אף פעם לא לשמור secrets, node_modules, .env
Advanced Git ב-2026
- Git LFS – קבצים גדולים (images, videos)
- Submodules – שילוב repo בתוך repo
- Cherry-pick – העברת commit ספציפי בין branches
- Bisect – חיפוש הbug שהכניס אחורה בהיסטוריה
- Interactive Rebase – עיצוב מחדש של היסטוריית commits
- Git Hooks – אוטומציה לפני/אחרי commit/push
GitHub פיצ׳רים חשובים
- Actions – CI/CD מובנה, חינם עד 2000 דקות/חודש
- Copilot – AI assistant, 10$/month, אבל שווה את זה
- Codespaces – VS Code בענן, גישה ליחידת פיתוח מכל מכשיר
- Projects – kanban board מובנה
- Discussions – פורום קהילתי
- Pages – static hosting חינם
- Packages – npm/docker registry
שאלות נפוצות
Git או SVN?
Git הוא הסטנדרט. SVN עדיין קיים במקומות מסוימים (ארגונים ישנים) אבל בפועל 96% מהעולם על Git ב-2026.
איך לומדים Git מהר?
קורס חינמי של GitHub Skills (skills.github.com). ספר “Pro Git” חינמי. Interactive tutorial ב-learngitbranching.js.org. 2-3 שבועות של תרגול = פרודוקטיביות.
מה זה Git Flow ו-Trunk-Based Development?
Git Flow (2010) = branches מרובים (master, develop, feature/*, release/*). Trunk-Based (מודרני) = כולם מ-main, features קצרות, CI/CD ומ-Feature Flags. Trunk-Based מנצח ב-2026 – פשוט יותר וגמיש יותר.