כיצד למשוך מאגר Git בלינוקס

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

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

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

הפקודה "git pull" מריצה למעשה שתי פקודות נפרדות "git fetch" ו-"git merge FETCH HEAD". פקודת המשנה "git fetch" מושכת באופן ספציפי את הגרסה החדשה ביותר מהמאגר המקוון ומאחסנת אותה באופן זמני. פקודת המשנה "git merge FETCH HEAD" ואז ממזגת את השינויים המקומיים שלך עם הגרסה שהורדת, עם commits חדשות יותר מועדפות.

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

התנגשויות בין גרסאות מקומיות למרוחקות

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

בשלב זה, אתה יכול לבטל את המיזוג עם הפקודה "git merge -abort" או לנסות לפתור את ההתנגשויות באופן ידני. הפקודות "git mergetool" ו-"git diff" מספקות דוגמה גרפית להבדלים שאמורים לעזור כדי שיהיה קל ככל האפשר לראות אילו שינויים יש להחיל באופן ידני כדי לאפשר את המיזוג לְהַשְׁלִים. לאחר שפתרת את כל ההתנגשויות, הקלד את הפקודה "git merge -continue" כדי להשלים את המיזוג.

הפקודה "git mergetool" תפתח כלי גרפי כמו זה כדי לעזור לך לפתור התנגשויות באופן ידני.