הסביר Git Pull

git pull היא פקודת Git המשמשת לעדכון הגרסה המקומית של מאגר משלט רחוק.

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

  1. מעדכן את סניף העבודה המקומי הנוכחי (כרגע הסניף שנבדק)
  2. מעדכן את סניפי המעקב המרוחקים לכל שאר הסניפים.

git pullמאחזר ( git fetch) את החדש מתחייב וממזג ( git merge) את אלה לסניף המקומי שלך.

התחביר של פקודה זו הוא כדלקמן:

# General format git pull OPTIONS REPOSITORY REFSPEC # Pull from specific branch git pull REMOTE-NAME BRANCH-NAME

בו:

  • אפשרויות הן אפשרויות הפקודה, כגון--quietאו--verbose. תוכלו לקרוא עוד על האפשרויות השונות בתיעוד Git
  • מאגר הוא כתובת האתר של הדו"ח שלך. דוגמה: //github.com/freeCodeCamp/freeCodeCamp.git
  • REFSPEC מציין אילו אספנות לאחזור ואילו דוחות מקומיים לעדכן
  • REMOTE-NAME הוא שם המאגר המרוחק שלך. לדוגמא: מקור .
  • BRANCH-NAME הוא שם הסניף שלך. לדוגמא: להתפתח .

הערה

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

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

תוכן עניינים

  • באמצעות git pull
  • בקרת גרסאות מבוזרת
  • git fetch + git merge
  • git pull ב- IDEs

שימוש ב- git pull

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

אבל, יש לזכור כמה דברים כדי שהדוגמה הזו תהיה נכונה:

במאגר המקומי מאגר מרוחק מקושר

  • בדוק זאת על ידי ביצוע git remote -v
  • אם יש שלטים מרובים, git pullיתכן שלא יהיה מספיק מידע. ייתכן שיהיה עליך להזין git pull originאו git pull upstream.

בסניף שאליו מתבצעת כעת צ'ק יש סניף מעקב מרחוק מתאים

  • בדוק זאת על ידי ביצוע git status. אם אין סניף מעקב מרחוק, Git אינו יודע לאן למשוך מידע מ .

בקרת גרסאות מבוזרת

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

אינטראקציות רשת בגיט

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

ארבע פקודות הרשת הן:

  • git clone
  • git fetch
  • git pull
  • git push

סניפים ב- DVCS

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

אם אתה מבצע git branch --allבתוך מאגר Git, ענפי מעקב מרחוק מופיעים באדום. אלה הם עותקים לקריאה בלבד של הקוד כפי שהוא מופיע בשלט הרחוק. (מתי הייתה האינטראקציה האחרונה ברשת שהביאה מידע באופן מקומי? זוכר מתי מידע זה עודכן לאחרונה. המידע בענפי המעקב מרחוק משקף את המידע מאותה אינטראקציה.)

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

אחזור git ועוד מיזוג git

git pullהוא פקודת שילוב, שווה ל- git fetch+ git merge.

להביא git

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

מיזוג git

ללא כל ויכוחים, git mergeימזג את ענף המעקב המרוחק המקביל לענף העובד המקומי.

משיכה

git fetchמעדכן סניפי מעקב מרחוק. git mergeמעדכן את הסניף הנוכחי בענף המעקב המרוחק המתאים. באמצעות git pull, אתה מקבל את שני החלקים של העדכונים האלה. עם זאת, פירוש הדבר הוא שאם ייבדק featureלסניף ותבצע git pull, בעת ביצוע הצ'ק-אין master, כל העדכונים החדשים לא ייכללו. בכל פעם שאתה מבצע סניף לסניף אחר שעשוי להיות בו שינויים חדשים, זה תמיד רעיון טוב לבצע git pull.

משיכה git ב IDEs

ייתכן ששפה נפוצה ב- IDES אחרת לא כוללת את המילה pull. אם אתה מחפש את המילים git pullאך אינך רואה אותן, חפש את המילה syncבמקום זאת.

הבאת יחסי ציבור מרוחקים (Pull Request) אל רפו מקומי

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

git fetch origin pull/ID/head:BRANCHNAME

מזהה הוא מזהה בקשת המשיכה ו- BRANCHNAME הוא שם הענף שברצונך ליצור. לאחר שנוצר הסניף תוכלו להשתמש git checkoutבכדי לעבור לאותה קטע.

משאבים אחרים בנושא git במדריך.freecodecamp.org

  • מיזוג גיט
  • קופת Git
  • גיט להתחייב
  • סטאש של גיט
  • סניף גיט