תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

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

מחבר:
בתאריך:

לגרסה האנגלית של המדריך The essentials of Git and Github for web developers

 

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

אבל לפני שנטפל בנושא העיקרי של המדריך, נלמד כיצד למנוע העלאת קבצים מסוימים ל-github.com.

 

כיצד למנוע העלאת קבצים מסוימים ל-github.com?

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

לשם כך, נוסיף לתיקיית השורש קובץ gitignore, ובתוכו נציין את כל שמות הקבצים וסוגי ההרחבות שאיננו מעוניינים להעלות ל-github.com.

לדוגמה, כדי למנוע העלאה של הקובץ error.log, נציין את שמו בקובץ, וכדי למנוע את העלאת כל קבצי ה-log נכתוב זאת כך:

*.log

כדי למנוע את העלאת כל קבצי הקונפיגורציה:

*.conf

וכיוצא בזה.

 

כיצד לעבוד עם ענפים (branching)?

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

  1. אנחנו תמיד מתחילים מענף master. כדי למצוא באיזה ענף אנחנו נמצאים נשתמש בפקודה git branch:
    $ git branch
  2. יוצרים ענף. לדוגמה, ענף ששמו branch1:
    $ git branch branch1
  3. עוברים לענף שיצרנו:
    $ git checkout branch1
  4. עורכים את הענף החדש, משנים את הקוד, ובוחנים את השינויים.
  5. בסוף, מעלים את השינויים ל-github:
    $ git add -A
    $ git commit -m "new branch created"
    $ git push
github .6 ינחה אותנו על פקודת ה-push המדויקת כדי להעלות ענף חדש.
$ git push --set-upstream origin branch1

עכשיו, כשנחזור לענף הראשי:

$ git checkout master

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

 

כיצד ממזגים ענפים?

  1. עוברים לממשק באתר-github.com
  2. בענף החדש, נלחץ על הכפתור הירוק create a pull request
  3. בדף שיפתח נוסיף כותרת והערות בשביל להסביר את השינויים.
  4. ננהל דיון עם השותפים לפרויקט.
  5. ובסוף ניתן למזג: merge pull request -> confirm
  6. ועכשיו הענף המשני ממוזג ל-master, וניתן למחוק את הענף המשני.
  7. ועכשיו כשעוברים לענף ה-master אפשר לראות את השינויים.

 

כיצד חוזרים לגרסאות קודמות?

נברר אילו גרסאות ישנות של הענף קיימות על המאגר המקומי:

$ git log

נעתיק את מזהה הגרסה שמעניינת אותנו, וניצור ממנה ענף חדש.

$ git checkout -b old-state "branch id"

ומפה ממשיכים כמו שעובדים עם ענף רגיל.

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

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

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

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך אומרים בעברית אינטרנט?