שלום אורח התחבר

חמישה דברים שכדאי לוודא שאתם יודעים לעשות עם Git

נושאים:יומי

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

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

1שיטת העבודה Git Flow

ברמת הבסיס אתם צריכים לדעת ליצור Feature Branch, להכניס אליו קומיטים, לבטל קומיטים או לשנות את הודעות הקומיט, לעבור רגע ל master כדי ליצור Hot Fix ולחזור ל Feature Branch שלכם להמשך עבודה.

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

אתם צריכים לדעת איך למזג את ה Feature Branch חזרה ל Master, לזהות ממה נוצרים קונפליקטים (אם יש) ואיך לפתור אותם.

2חיפוש בהיסטוריית הפרויקט

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

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

ולסיום נרצה לזהות לגבי קוד מסוים: מי כתב את השורה הזאת? למה? מי מחק את השורה ההיא? ולמה? איזה שינוי גרם לבדיקה מסוימת להיכשל? החל מאיזה נקודה התנהגות מסוימת של המערכת השתנתה?

3ענפים

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

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

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

4שמירה על הניקיון

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

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

5עבודה מבוזרת

ואחרון נרצה לוודא שאנחנו יודעים לעבוד עם Github (או כל שרת מרוחק) בצורה יעילה, נרצה לוודא שאנחנו יודעים לבנות "שרת גיט" שלנו שאחרים יקחו ממנו את הפרויקט, מבינים את ההבדל בין ענף מרוחק לענף מקומי ואיך לסנכרן בין השניים ויודעים ליצור ולקבל Pull Requests לפרויקטים שלנו.

פספסתי משהו? ספרו לי בתגובות

מעדיפים לקרוא מהטלגרם? בקרו אותנו ב:@tocodeil

או הזינו את כתובת המייל וקבלו את הפוסט היומי בכל בוקר אליכם לתיבה:


נהניתם מהפוסט? מוזמנים לשתף ולהגיב