1. דף הבית
  2. בלוג
  3. מבוא לניהול גרסאות עם Git ו-GitHub

מבוא לניהול גרסאות עם Git ו-GitHub

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

מבוא לניהול גרסאות

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

בין מערכות ניהול הגרסאות השונות הזמינות, Git היא הפופולרית והנפוץ ביותר ועליה נדון במאמר זה.

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

ישנן מספר סיבות לשימוש בניהול גירסאות:

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

תחילת העבודה עם Git

כדי להשתמש ב-Git, עליך להתקין אותו במחשב שלך. ניתן להוריד את Git מ-https://git-scm.com. עקוב אחר ההוראות עבור מערכת ההפעלה שלך: Windows, macOS או Linux.

לאחר ההתקנה, הגדר את הגדרות Git שלך עם השם והדוא"ל שלך:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

פקודות Git בסיסיות

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

אתחול הרפוזיטורי (Init)

כדי להתחיל להשתמש ב-Git בפרויקט, נווט אל ספריית הפרויקט ואתחל את הרפוזיטורי:

git init

שכפול הרפוזיטורי (Clone)

כדי לשכפל רפוזיטורי קיים מ-GitHub:

git clone https://github.com/username/repository.git

הוספת שינויים (Add)

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

git add filename

שמירת השינויים (Commit)

בצע את שמירת השינויים ברפוזיטורי:

git commit -m "Your commit message"

צפייה בהיסטוריה (Log)

כדי להציג את היסטוריית שמירת השינויים:

git log

הסתעפויות ומיזוגים ב-Git

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

יצירת הסתעפות (Branch)

הסתעפויות מאפשרות לך לעבוד על תכונות או תיקונים שונים בנפרד:

git branch branch_name

החלפת הסתעפות (Checkout)

כדי לעבור להסתעפות אחרת:

git checkout branch_name

מיזוג הסתעפויות (Merge)

כדי למזג שינויים מהסתעפות אחת לאחרת:

git checkout main
git merge branch_name

פתרון קונפליקטים

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

אם יש התנגשויות במהלך המיזוג, Git תודיע לך. במקרה כזה, פתח את הקבצים המתנגשים ופתור את ההתנגשויות. לאחר מכן, הוסף (Add) ושמור (Commit) את הקבצים שנפתרו:

git add resolved_file
git commit -m "Resolved merge conflict"

עבודה עם רפוזיטורי מרוחק

ניתן לעבוד בצורה קלה עם רפוזיטורי מרוחק.

הוספת רפוזיטורי מרוחק (Remote add)

הוסף רפוזיטורי מרוחק, למשל רפוזיטורי GitHub שלך:

git remote add origin https://github.com/username/repository.git

דחיפת שינויים (Push)

דחוף את השינויים שלך לרפוזיטורי המרוחק:

git push origin branch_name

משיכת שינויים (Pull)

משוך שינויים מהרפוזיטורי המרוחק לרפוזיטורי המקומי שלך:

git pull origin branch_name

איחזור שינויים (Fetch)

אחזר שינויים מהרפוזיטורי המרוחק ללא מיזוג:

git fetch origin

שיתוף פעולה ב-GitHub

ביצוע פיצול (Fork)

פצל רפוזיטורי, כדי ליצור עותק משלך:

  1. נווט אל הרפוזיטורי ב-GitHub.
  2. לחץ על כפתור "Fork" בפינה השמאלית העליונה.

יצירת בקשות משיכה (Pull)

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

  1. עבור אל הרפוזיטורי המפוצל שלך ב-GitHub.
  2. לחץ על "New pull request".
  3. השווה שינויים והגש את בקשת המשיכה.

סקירת בקשות משיכה (Review)

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

מיזוג בקשות משיכה (Merge)

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

  1. עבור אל בקשת המשיכה ב- GitHub.
  2. לחץ על "Merge pull request".
  3. אשר את המיזוג.

שיטות עבודה מומלצות לשימוש ב-Git וב-GitHub

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

  1. שמור לעתים קרובות - בצע שמירה (commit) לעיתים תכופות עם מסרים ברורים, גם לשינויים קטנים יחסית.
  2. השתמש בהסתעפויות - צור הסתעפות (branch) לתכונה חדשה, לתיקונים ולניסויים.
  3. כתוב תאור ברור בכל שמירה - בכל שמירה, תאר בבירור אילו שינויים בוצעו ומדוע.
  4. סקור את הקוד - השתמש בבקשות משיכה (pull), כדי לבדוק ולדון בשינויי קוד לפני המיזוג.
  5. שמור על רפוזיטורי נקי - מחק באופן קבוע הסתעפויות שאינן בשימוש ועדכן תיעוד.

שימוש ב-Git וב-GitHub לסיכום

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

GitHub היא פלטפורמה מבוססת אינטרנט לבקרה וניהול גרסאות ושיתוף פעולה בין מתכנתים. הפלטפורמה מאפשרת למפתחים לאחסן, לנהל ולעקוב אחר שינויים במאגרי הקוד שלהם באמצעות Git, ולשתף פעולה עם אחרים בפרויקטים בקוד פתוח ובפרוייקטים פרטיים.
Git היא מערכת בקרת גרסאות מבוזרת העוקבת אחר שינויים בקבצים, בעוד GitHub היא פלטפורמה מבוססת ענן המארחת מאגרי Git ומספקת תכונות נוספות לשיתוף פעולה, כמו בקשות משיכה, מעקב אחר בעיות וכלים לניהול פרויקטים.
ב-GitHub, מאגרים (repositories), מכונים לעיתים בקיצור repos, הם שטחי אחסון עבור קבצי פרויקט, כולל קוד, תיעוד ומשאבים אחרים. לכל מאגר יכול להיות מספר הסתעפויות (branches) והוא משמש לארגון וניהול גרסאות פרויקט.
שיתוף פעולה ב-GitHub יכול להיעשות באמצעות חילוף מאגרים, יצירת הסתעפויות (branches), ביצוע בקשות משיכה (pull requests) ושימוש בבעיות (issues) כדי לדון ולעקוב אחר באגים או שיפורים. חברי הצוות יכולים גם להשתמש בלוחות הפרויקטים ובוויקי של GitHub לניהול פרויקטים ותיעוד.
דפי GitHub הוא שירות הניתן על ידי GitHub המאפשר לך לארח אתרים סטטיים ישירות ממאגר GitHub. הוא משמש בדרך כלל לאתרים אישיים, אתרי פרויקטים או אתרים תיעודיים.
בעיות (issues) ב-GitHub משמשות למעקב אחר משימות, שיפורים, באגים ודיונים אחרים הקשורים לפרויקט. הם עוזרים למפתחים לנהל ולתעדף עבודה, וניתן לקשר אותם להתחייבויות קוד ולבקשות משיכה למעקב טוב יותר אחר פרויקטים.
הוספת תגובה
אנו משתמשים בעוגיות על מנת לשפר את חווית המשתמש באתר. מדיניות הפרטיותאני מסכים