Git ו-GitHub למתחילים: המינימום שצריך לדעת
זמן קריאה: 3 דקות
Git הוא הכלי שאף מודעת דרושים לא טורחת לדרוש, כי הוא הנחת יסוד. מי שלא יודע לעבוד איתו לא יכול לעבוד בצוות, וזה מתגלה ביום הראשון.
מה Git עושה בפועל
Git שומר תמונות מצב של הפרויקט שלכם ומאפשר לחזור לכל אחת מהן. זה נשמע פשוט, וזה באמת העיקר - כל השאר הוא סיבוכים שנובעים מהעובדה שכמה אנשים עושים את זה במקביל.
ההבדל בין Git ל-GitHub מבלבל רבים: Git הוא הכלי שרץ אצלכם על המחשב; GitHub הוא שירות שמארח עותק ברשת ומוסיף עליו שיתוף פעולה. אפשר להשתמש ב-Git בלי GitHub, אבל כמעט אף אחד לא עושה זאת.
המינימום שצריך ביום יום
| מה אתם רוצים לעשות | הרעיון |
|---|---|
| לשמור נקודת חזרה | commit - תמונת מצב עם הסבר מה השתנה |
| לעבוד על משהו בלי לשבור | branch - ענף נפרד מהקוד הראשי |
| להחזיר את העבודה פנימה | merge, לרוב דרך Pull Request |
| לקבל שינויים של אחרים | pull לפני שמתחילים לעבוד |
| לחזור אחורה | יש כמה דרכים - חשוב להכיר אחת ולהבין אותה |
זה כל מה שצריך כדי להתחיל לעבוד. שאר הפקודות נלמדות כשנתקלים בהן, ואין טעם לשנן אותן מראש.
איך כותבים הודעת commit טובה?
הודעה טובה עונה על "למה", לא על "מה". את ה"מה" רואים בשינוי עצמו. "תיקון" ו-"update" הן הודעות חסרות ערך; "מונע קריסה כשהמשתמש שולח טופס ריק" היא הודעה שחוסכת למישהו חצי שעה בעוד חצי שנה.
שני כללים מעשיים: קומיט אחד לשינוי לוגי אחד, והודעה בהווה או בציווי. מעבר לכך זה עניין של קונבנציית צוות, שנלמדת במקום העבודה.
מה מגייס מחפש בפרופיל GitHub
- מאגר אחד מסודר עדיף על עשרים ריקים.
- README שמסביר מה זה ואיך מריצים. בלעדיו המאגר לא ייפתח.
- היסטוריית קומיטים שנראית כמו תהליך - לא קומיט ענק אחד.
- קוד שאתם יכולים להסביר. זו השאלה שתישאל.
- לא לכלול סודות. מפתח או סיסמה במאגר ציבורי היא נורה אדומה מקצועית.
הפירוט המלא על מה עושה פרויקט לשווה נמצא בפרויקטים לפורטפוליו.
הטעויות שכולם עושים בהתחלה
הראשונה: לעבוד ישר על הענף הראשי. זה עובד עד שמשהו נשבר, ואז אין לאן לחזור. הענף הנפרד הוא רשת הביטחון.
השנייה: לא למשוך שינויים לפני שמתחילים לעבוד, ואז להיתקע בהתנגשות גדולה במקום בכמה קטנות.
השלישית: לפחד מהתנגשות. היא חלק נורמלי מהעבודה, והיא רק אומרת ששני אנשים נגעו באותו מקום. מי שמבין מה קרה פותר אותה בדקות.
הרביעית, והיקרה: להעלות קובץ סודות. הקובץ נשאר בהיסטוריה גם אחרי מחיקה, ולכן הכלל הוא לא להכניס אותו מלכתחילה.
איך מתאמנים
הדרך המהירה ביותר היא להשתמש בזה מהיום הראשון של הלימוד, גם על פרויקט של קובץ אחד. מי שמחכה עד שיהיה "פרויקט רציני" לומד את הכלי בדיוק כשהוא בלחץ.
למי שבונה מסלול למידה שלם, זה השלב הראשון - ראו ללמוד תכנות לבד ואת רשימת הכלים בהכלים שכל מפתח צריך.
שאלות נפוצות
ממשק גרפי או שורת פקודה?
התחילו בשורת הפקודה כדי להבין מה קורה, ואז השתמשו במה שנוח. הבעיה עם ממשק גרפי בלבד היא שכשמשהו משתבש, לא ברור מה הכלי עשה.
מה ההבדל בין GitHub ל-GitLab ול-Bitbucket?
הם שירותים מתחרים עם אותו רעיון. מי שמכיר אחד עובר לשני בקלות, ולכן זה לא שיקול בבחירה מה ללמוד.
האם פרופיל ריק פוגע?
הוא לא פוגע אקטיבית, אבל הוא מפספס הזדמנות. למי שאין ניסיון תעסוקתי, זו אחת הדרכים הבודדות להראות משהו.
כמה קומיטים זה "מספיק"?
אין מספר. גרף פעילות צפוף אינו מרשים אף אחד; מה שמרשים הוא פרויקט אחד שאפשר לפתוח ולהבין.
מה עושים כשמשהו נשבר לגמרי?
כמעט תמיד אפשר לשחזר, כי Git שומר הכל. זו בדיוק הסיבה להשתמש בו מההתחלה: מצב בלתי הפיך הוא נדיר מאוד.