מדריך GitHub ו-Git למייסדים ללא רקע טכני

שיתוף

מייסד עסקי עובר על לוח בקרה של קוד במחשב נייד
מייסדים ללא רקע טכני שמנהלים צוות פיתוח חייבים להבין את Git ו-GitHub — לא כדי לכתוב קוד, אלא כדי לקבל החלטות טובות יותר. המדריך הזה מסביר את הכל בשפה עסקית.
תוכן עניינים
10 דקות קריאה

למה מייסד שלא כותב קוד צריך להבין Git?

דמיינו שאתם מנהלים מסעדה ולא יודעים מה קורה במטבח. אתם יכולים לקבל הזמנות, לדבר עם לקוחות, ולנהל תקציב — אבל כשהשף אומר "יש בעיה עם הסו-ויד", אתם מהנהנים בלי להבין. זה בדיוק המצב של מייסדים רבים מול הצוות הטכני שלהם.

Git ו-GitHub הם הכלים שבהם כל צוות פיתוח מודרני משתמש כדי לנהל קוד. לא להבין אותם ברמה בסיסית זה לא ענווה, זה חיסרון עסקי. מייסד שמבין את המושגים הבסיסיים יכול לשאול שאלות טובות יותר, לזהות בעיות מוקדם יותר, ולנהל שיחות אמיתיות על לוחות זמנים ועדיפויות. לא צריך לכתוב שורת קוד אחת כדי להגיע לשם.

אנחנו רואים שוב ושוב שמייסדים שמשקיעים שעתיים בהבנת הכלים האלה מקבלים החלטות טובות יותר על גיוס, על תקציב פיתוח, ועל ניהול ציפיות מול לקוחות. זה לא על להיות טכני, זה על להיות מנהל טוב יותר.

Git: מה זה בעצם ולמה זה קיים

Git הוא מערכת לניהול גרסאות של קוד. בפועל, זה אומר שכל שינוי שמפתח עושה בקוד — כל שורה שנוספת, כל שורה שנמחקת, נשמר עם חותמת זמן, שם המפתח, והסבר קצר על מה השתנה. התוצאה היא היסטוריה מלאה של כל מה שקרה לקוד מהיום הראשון.

למה זה חשוב לכם כמייסדים? כי זה אומר שאם מפתח שובר משהו ביום שישי בצהריים, אפשר לחזור לגרסה שעבדה ביום חמישי תוך דקות. בלי Git, תיקון כזה יכול לקחת שעות. עם Git, זה פקודה אחת. זה גם אומר שאם מפתח עוזב את החברה, כל ההיסטוריה של הקוד שלו נשארת ונגישה.

Git פותח ב-2005 על ידי לינוס טורבאלדס, אותו אדם שיצר את מערכת ההפעלה Linux. הוא תכנן אותו כדי לנהל פרויקט עם אלפי מפתחים ברחבי העולם. היום הוא הסטנדרט הכמעט-אוניברסלי בתעשייה, מעל 90% מצוותי הפיתוח המקצועיים משתמשים בו.

צוות מפתחים עובד יחד על בקשת מיזוג קוד במסך מחשב

GitHub: הבית המקוון של הקוד שלכם

אם Git הוא המנוע, GitHub היא המכונית. GitHub היא פלטפורמה מקוונת שמאחסנת את הקוד, מציגה את ההיסטוריה שלו בצורה ויזואלית, ומאפשרת לצוות שלם לעבוד על אותו פרויקט בו-זמנית. כשמפתח מסיים לעבוד על פיצ'ר חדש, הוא "דוחף" את הקוד שלו ל-GitHub כדי שכולם יוכלו לראות אותו.

מה שמייסד יכול לראות ב-GitHub בלי שום ידע טכני:

  • רשימת כל הקבצים בפרויקט ומתי כל אחד עודכן לאחרונה
  • היסטוריה של כל שינוי שנעשה, מי עשה אותו ומתי
  • רשימת משימות פתוחות (issues) ומי אחראי על כל אחת
  • בקשות מיזוג קוד (pull requests) שממתינות לאישור
  • גרפים שמראים כמה פעילות הייתה בפרויקט בכל שבוע

Microsoft רכשה את GitHub ב-2018 תמורת 7.5 מיליארד דולר. היום הפלטפורמה מאחסנת מעל 100 מיליון repositories ומשמשת מעל 100 מיליון מפתחים. זה לא כלי נישה — זה תשתית עולמית.

הסבירו לי Commit, Branch ו-Merge בשפה עסקית

Commit הוא נקודת שמירה. כשמפתח עושה commit, הוא אומר: "הקוד שלי עכשיו במצב מסוים, ואני רוצה לשמור את הרגע הזה." כל commit מגיע עם הודעה קצרה שמסבירה מה השתנה. כמייסד, אם אתם רואים commit עם ההודעה "fixed login bug" — אתם יודעים בדיוק מה קרה, בלי לקרוא שורת קוד.

Branch הוא ענף עבודה מקביל. תחשבו על זה כמו גיליון אלקטרוני שאתם מעתיקים לפני שאתם מנסים שינוי גדול. המפתח עובד על הענף שלו, מנסה דברים, שובר ומתקן, בלי לפגוע בגרסה הפעילה שהלקוחות משתמשים בה. צוות של 5 מפתחים יכול לעבוד על 5 branches שונים בו-זמנית.

Merge הוא המיזוג. כשהמפתח מסיים את העבודה על הענף שלו ורוצה לשלב אותה בגרסה הראשית, הוא מבקש merge. לפעמים שני מפתחים שינו את אותו קובץ בו-זמנית, זה נקרא "conflict" ומישהו צריך להחליט איזו גרסה מנצחת. זה אחד הדברים שלוקחים זמן ולא תמיד נראים בלוח הזמנים.

תרשים המציג ענפי פיתוח מקביליים בניהול גרסאות קוד

מה זה Pull Request ואיך הוא שומר על איכות המוצר

Pull request הוא אחד המנגנונים החשובים ביותר בפיתוח תוכנה מקצועי, ורוב המייסדים הלא-טכניים לא יודעים שהוא קיים. כשמפתח מסיים לעבוד על פיצ'ר חדש ורוצה לשלב אותו בקוד הראשי, הוא פותח pull request. זה בעצם אומר: "הנה מה שכתבתי — מישהו יבדוק לפני שמשלבים?"

מפתחים אחרים בצוות עוברים על הקוד, מגיבים, מציעים שיפורים, ומאשרים או דוחים. התהליך הזה נקרא code review, והוא אחד הכלים הכי יעילים למניעת באגים. מחקר של IBM משנות ה-90 (שעדיין מצוטט היום) מצא שתיקון באג בשלב הפיתוח עולה פי 6 פחות מתיקונו אחרי שהמוצר יצא לאוויר.

הטעות הנפוצה שאנחנו רואים בסטארטאפים מוקדמים: לחץ על לוחות זמנים גורם לצוות לדלג על code review. זה מרגיש כמו חיסכון בזמן בטווח הקצר, אבל בדרך כלל מוביל לשבועות של תיקון באגים שלושה חודשים אחר כך. כמייסד, שאלו את הצוות שלכם: "כמה זמן pull request נשאר פתוח בממוצע לפני אישור?" תשובה של יותר מ-48 שעות יכולה להצביע על צוואר בקבוק.

Repository: איך מארגנים את הקוד של העסק

Repository (repo) הוא הבית של פרויקט קוד. הוא מכיל את כל הקבצים, את כל ההיסטוריה, ואת כל הענפים. כשמפתח חדש מצטרף לצוות, הדבר הראשון שהוא עושה הוא "לשכפל" את ה-repo למחשב שלו — ותוך דקות יש לו את כל הקוד.

שאלה שמייסדים צריכים לשאול: האם הקוד של החברה שלנו מאורגן ב-repositories ברורים, עם הרשאות גישה מוגדרות? זה לא שאלה טכנית, זה שאלת אבטחה ושאלת ניהול סיכונים. מפתח שעוזב את החברה צריך שתהיה לכם יכולת להסיר את הגישה שלו תוך דקות, לא ימים.

ארגון נפוץ בסטארטאפים:

  • repo אחד לאפליקציה הראשית (frontend)
  • repo נפרד לשרת (backend)
  • repo לתשתית ולהגדרות סביבה
  • repo לתיעוד פנימי ומפרטים

הטעות הנפוצה היא לשים הכל ב-repo אחד ענק. זה עובד בהתחלה, אבל כשהצוות גדל ל-8-10 מפתחים, הניהול הופך לסיוט. עדיף להתחיל מסודר.

איך לקרוא את ה-GitHub של הצוות שלכם

אתם לא צריכים להבין קוד כדי לקבל מידע שימושי מ-GitHub. הנה מה לחפש:

Commit activity: GitHub מציג גרף שמראה כמה commits נעשו בכל יום בשבועות האחרונים. שבוע שקט לגמרי לא בהכרח בעיה — אולי הצוות עסוק בתכנון. אבל שבועיים ללא פעילות בזמן שאמורים לפתח פיצ'ר חדש, שווה לשאול שאלות.

Open issues: Issues הם משימות, באגים, ורעיונות שנרשמו. צוות בריא מנהל את ה-issues שלו באופן שוטף. אם יש 200 issues פתוחים שחלקם בני שנה, זה סימן לחוסר סדר עדיפויות.

Pull requests ממתינים: אם יש pull requests שפתוחים שבוע ויותר בלי תגובה, זה בדרך כלל אומר שהצוות עמוס מדי או שיש בעיה בתהליך ה-review. שניהם דורשים טיפול.

כלי שימושי נוסף: GitHub מאפשר לייצר "milestones", אבני דרך שמקבצות issues לפי גרסה או תאריך יעד. זה הדרך הכי טובה לעקוב אחרי התקדמות ספרינט בלי לשבת בכל stand-up.

GitHub Actions: אוטומציה שמייסדים צריכים להכיר

GitHub Actions הוא כלי שמאפשר לצוות להגדיר תהליכים אוטומטיים שמופעלים כשמשהו קורה ב-repository. לדוגמה: בכל פעם שמפתח דוחף קוד חדש, המערכת אוטומטית מריצה בדיקות, בודקת שהקוד עומד בסטנדרטים, ואפילו פורסת את הגרסה החדשה לסביבת הבדיקות.

מבחינה עסקית, זה אומר שהרבה מהעבודה הידנית והמועדת לטעויות הופכת לאוטומטית. צוות שמשתמש ב-GitHub Actions נכון יכול לפרוס גרסה חדשה לייצור תוך דקות, עם בטחון שהבדיקות עברו. צוות שלא משתמש בזה — עושה את אותה עבודה ידנית בכל פעם, עם כל הסיכונים שזה מביא.

אם אתם רוצים להבין אם הצוות שלכם עובד ביעילות, שאלו: "האם יש לנו CI/CD?" CI/CD זה Continuous Integration / Continuous Deployment, בדיוק מה ש-GitHub Actions מאפשר. צוות שאומר "כן, יש לנו pipeline אוטומטי" עובד בצורה מקצועית. צוות שאומר "אנחנו פורסים ידנית", כדאי לשאול למה.

לעסקים שמנהלים אתרי WordPress, וורדפרס מדריך למתחילים יכול לעזור להבין איך פלטפורמות מנוהלות שונות מפרויקטי קוד מותאם אישית.

GitHub לעומת GitLab: מה לבחור

שתי הפלטפורמות מבוססות על Git ומציעות פונקציונליות דומה בבסיסה, אבל יש הבדלים שרלוונטיים להחלטה עסקית:

קריטריוןGitHubGitLab
פופולריותהגדולה בעולםשנייה בגודלה
קהילה ואינטגרציותרחבה מאודמוגבלת יותר
CI/CD מובנהדרך GitHub Actionsמובנה ומלא יותר
התקנה עצמיתלא זמינה בחינםזמינה בחינם
מחיר לצוות קטןחינם עד 3 משתמשיםחינם עד 5 משתמשים
מתאים ל…רוב הסטארטאפיםחברות עם דרישות אבטחה גבוהות

ברוב המקרים, GitHub היא הבחירה הנכונה לסטארטאפ. הסיבה הפשוטה: כשתגייסו מפתח חדש, הסיכוי שהוא מכיר GitHub טוב יותר מ-GitLab הוא גבוה. זה מקצר את זמן ה-onboarding.

שאלות שכל מייסד צריך לשאול את הצוות הטכני שלו

הבנת Git ו-GitHub לא נועדה כדי שתוכלו לבדוק את עבודת המפתחים. היא נועדה כדי שתוכלו לנהל שיחות אמיתיות. הנה שאלות קונקרטיות שמייסדים יכולים לשאול:

  • "מה מצב ה-branch של הפיצ'ר שדיברנו עליו?" — שאלה שמראה שאתם מבינים שפיצ'ר חי על ענף נפרד עד שהוא מוכן
  • "כמה pull requests פתוחים יש עכשיו ומה עוצר אותם?", שאלה שחושפת צווארי בקבוק בתהליך
  • "מתי עשינו deploy אחרון לייצור ומה כלל?", שאלה שמחברת בין פעילות ב-GitHub לבין מה שהלקוחות רואים
  • "האם יש לנו automated tests שרצים על כל pull request?", שאלה שבודקת בשלות תהליכית

מפתחים טובים ישמחו לענות על השאלות האלה. אם מישהו מתחמק או אומר "זה מסובך להסביר", זה לא בהכרח בעיה טכנית, זה לפעמים בעיה של שקיפות.

אם אתם בונים אתר כחלק מהמוצר שלכם, כדאי גם להכיר את הצד של פיתוח אתר אינטרנט ואיך הוא משתלב עם תהליכי הפיתוח שמנוהלים דרך GitHub.

צעדים ראשונים מעשיים למייסד שרוצה להתחיל

אם אתם רוצים להתחיל להבין את ה-GitHub של הצוות שלכם, הנה תהליך פשוט שלוקח פחות משעה:

פתחו חשבון GitHub אישי בחינם בכתובת github.com. בקשו מהמפתח הראשי שלכם להוסיף אתכם כ-"viewer" לפרויקט הראשי. בלי הרשאות כתיבה — רק צפייה. עברו על ה-repository: ראו את רשימת הקבצים, לחצו על "Commits" וראו את ההיסטוריה, פתחו את לשונית "Issues" וראו מה פתוח.

לא תבינו הכל בפעם הראשונה. אבל אחרי שבועיים של הסתכלות שוטפת, תתחילו לזהות דפוסים. תראו מתי הצוות פעיל, מתי יש עצירות, ומה הנושאים שחוזרים ב-issues. זה מידע שמנהל טוב צריך, ועכשיו אתם יודעים איפה למצוא אותו.

שאלות נפוצות

מה ההבדל בין Git ל-GitHub?
Git הוא כלי תוכנה שרץ על המחשב של המפתח ומאפשר לו לעקוב אחרי שינויים בקוד. GitHub היא פלטפורמה מקוונת שמאחסנת את הקוד ומאפשרת לצוות שלם לעבוד יחד. אפשר להשתמש ב-Git בלי GitHub, אבל רוב הצוותים משתמשים בשניהם יחד. כמייסד, GitHub הוא מה שתראה ותיגע בו — Git הוא המנוע שמאחורי הקלעים.
האם מייסד ללא רקע טכני צריך ללמוד לכתוב פקודות Git?
לא. מייסד לא צריך להריץ פקודות בטרמינל. מה שכן שווה ללמוד: איך לקרוא את ה-GitHub של הצוות, להבין מה זה pull request, ולדעת לשאול שאלות נכונות על מצב הקוד. זה מספיק כדי לנהל שיחות משמעותיות עם המפתחים ולקבל החלטות מושכלות על לוחות זמנים ועדיפויות.
מה זה branch ולמה זה חשוב לי כמייסד?
Branch הוא גרסה מקבילה של הקוד שבה מפתח עובד על פיצ'ר חדש או תיקון באג, בלי לפגוע בגרסה הפעילה של המוצר. מבחינה עסקית, זה אומר שהצוות יכול לפתח 3-4 דברים במקביל בלי שהם יתנגשו. כשמייסד שואל "מתי הפיצ'ר הזה יהיה מוכן?" — התשובה תלויה לרוב במה שקורה ב-branch הרלוונטי.
מה זה pull request ואיך זה קשור לאיכות המוצר?
Pull request הוא בקשה של מפתח למזג את הקוד שכתב לתוך הגרסה הראשית. לפני המיזוג, מפתחים אחרים בצוות בודקים את הקוד ומגיבים. זה תהליך ה-code review, שהוא אחד הכלים הכי חשובים לשמירה על איכות. צוותים שמדלגים על שלב הזה כדי לחסוך זמן משלמים על זה בבאגים בהמשך — זו אחת הטעויות הנפוצות שאנחנו רואים בסטארטאפים בשלבים מוקדמים.
איך אני יודע שהצוות הטכני שלי עובד ביעילות דרך GitHub?
כמה אינדיקטורים פשוטים: כמה commits נעשים ביום, כמה זמן pull request נשאר פתוח לפני שמאשרים אותו, ואם יש issues פתוחים שלא מטופלים שבועות. GitHub מציג את כל הנתונים האלה בצורה ויזואלית. לא צריך להבין קוד כדי לזהות שצוות שלא עשה commit שלושה ימים רצופים — כנראה תקוע.
מה זה repository ואיך מארגנים אותו נכון?
Repository (או בקיצור repo) הוא התיקייה שמכילה את כל הקוד של פרויקט מסוים, כולל ההיסטוריה המלאה של כל שינוי שנעשה בו. עסק עם מוצר אחד יכול להסתפק ב-repo אחד, אבל חברות עם כמה שירותים נפרדים בדרך כלל מחזיקות כמה repositories. הטעות הנפוצה: לשים הכל ב-repo אחד ענק שהופך לבלתי ניתן לניהול אחרי שנה.
האם GitHub מתאים גם לצוותים קטנים של 2-3 מפתחים?
בהחלט, ולמעשה זה הזמן הכי טוב להתחיל. צוות קטן שמאמץ הרגלי עבודה נכונים עם Git ו-GitHub מהיום הראשון יתרחב בהרבה יותר קלות. צוותים שמתחילים בלי ניהול גרסאות מסודר ומנסים להוסיף אותו אחרי שהמוצר כבר חי — מתמודדים עם כאב ראש אמיתי של מיגרציה ושינוי הרגלים.
כמה עולה GitHub לצוות פיתוח?
GitHub מציעה תוכנית חינמית שמתאימה לרוב הסטארטאפים בשלבים מוקדמים, כולל repositories פרטיים ועד 3 משתמשים בתוכנית Team. תוכנית Team עולה כ-4 דולר למשתמש לחודש ומוסיפה כלים לניהול צוות. לחברות עם צרכי אבטחה מתקדמים יש תוכנית Enterprise. ברוב המקרים, עלות GitHub היא הוצאה זניחה ביחס לערך שהיא מספקת.
מה ההבדל בין GitHub ל-GitLab?
שתיהן פלטפורמות לניהול קוד מבוסס Git, אבל עם הבדלים מעשיים. GitHub היא הפופולרית יותר, עם קהילה גדולה יותר ואינטגרציות רחבות יותר. GitLab מציעה יותר כלים מובנים ל-CI/CD (אוטומציה של בדיקות ופריסה) ואפשרות להתקנה עצמית על שרתים פרטיים. לרוב הסטארטאפים, GitHub היא הבחירה הטבעית. GitLab שווה לשקול אם יש דרישות אבטחה מחמירות.

היי 😊

רגע לפני שנדבר

נשמח להראות לכם חלק קטן מהרפויקטים שלנו