האם Git מושך מיזוג
Git: מה בדיוק עושה Git Pull
Git Pull vs להביא
סביר להניח שאתה במצב הבא: היו שינויים שנעשו לאחרונה במאגר המרוחק שלך ואתה רוצה לשלב אותם בעותק המקומי שלך. יש לך כמה אפשרויות כאן; שתי הפעולות הנפוצות ביותר כדי לקבל שינויים מהמרחוק שלך הם משיכה git ומביאים להביא.
אז מה ההבדל בין Git Pull לעומת Fetch, ומתי כדאי להשתמש באיזו פקודה? אנו שמחים ששאלת.
מה זה Git להביא?
Git Fetch היא פקודה המאפשרת לך להוריד אובייקטים ממאגר אחר.
מה זה Git Pull?
Git Pull היא פקודה המאפשרת לך להביא ולהשתלב עם מאגר אחר או סניף מקומי אחר.
מההגדרה הזו, אתה יכול לראות שמשיכה של Git היא למעשה אחזור של Git ואחריו פעולה (ים) נוספים – באופן אופייני מיזוג Git.
מתי אתה צריך להשתמש ב- Git Pull?
Git Pull היא פעולה רצויה כאשר יש לך הקשר מלא לגבי השינויים שתקבל ממאגר המרוחק שלך ולהוסיף לעותק המקומי שלך.
מתי אתה צריך להשתמש ב- Git להביא?
אם אתה רק רוצה לראות את כל הענפים הנוכחיים והשינויים במאגר המרוחק שלך, Git Fetch יכול להביא לך את כל המידע הדרוש לך מבלי לבצע שינויים מקומיים בעבודתך.
זה נותן לך זמן להחליט על דרך הפעולה הטובה ביותר לשילוב השינויים שלך, כמו מיזוג אותם או מהיר את הסניף המקומי שלך במהירות.
השוואה בין משיכה Git לעומת Fetch
כאשר משווים את Git Pull לעומת Fetch, Git Fetch הוא אלטרנטיבה בטוחה יותר מכיוון שהיא מושכת את כל ההתחייבויות מהמרחוק שלך אך אינה מבצעת שינויים בקבצים המקומיים שלך.
מצד שני, Git Pull הוא מהיר יותר כאשר אתה מבצע פעולות מרובות באחת – מפץ טוב יותר עבור הדולר שלך. השימוש בפקודת המשיכה של GIT ניתן לראות באור אחד כתכונה של נוחות; אתה בטח פחות מודאג מכניס קונפליקטים לרפו המקומי שלך ואתה רק רוצה את השינויים המעודכנים ביותר מהסניף המרוחק שאתה מוציא ממנו.
Git Pull היא פעולה מתקדמת יותר וחשוב להבין שתציג שינויים ומיישם אותם מייד על הסניף שנבדק כרגע.
Git Fetch קצת שונה; אתה יכול להשתמש בפקודה Git Fetch כדי לראות את כל השינויים של השלט מבלי להחיל אותם. פעולה זו יכולה להיות נהדרת אם אתה חדש יותר ב- GIT, מכיוון שהיא מספקת נראות רבה יותר לגבי השינויים המוצגים. מצד שני, FETC.
כעת, לאחר שעברנו על מה שהפקודות המתאימות עושות והשווינו את המשיכה של Git לעומת להביא, בואו נלמד איך אתה משוך וגיט להביא באמצעות גוי של Gitkraken Gitake כדי לדמיין את המאגר שלך וכיצד לבצע פעולות אלה ב- CLI.
Gitkraken מאפשר לך לראות את כל פרטי השינויים שאתה מושך או מביא ממאגר המרוחק שלך.
איך אתה משוך לעומת משיכה באמצעות Gitkraken?
ב- Gitkraken, אתה יכול להביא בקלות או למשוך מסרגל הכלים העליון.
![Gitkraken Fetch] (https: // www.Gitkraken.com/wp-content/העלאות/2021/04/Gitkraken-Fetch-1.png)
לחלופין, תוכלו ללחוץ באמצעות לחצן העכבר הימני על ענף מרוחק מהגרף המרכזי בגיטקראקן כדי להביא או למשוך.
![משיכת Gitkraken] (https: // www.Gitkraken.com/wp-content/העלאות/2021/05/Gitkraken-Pull.png)
גיטיפ: צריך רענון כיצד למשוך ענף גיט מרוחק? יש לנו מכוסה.
אבל אם אתה כמו מפתחים רבים שם ומעדיף לדבוק במקלדת, Gitkraken כיסית את Finder המטושטש הנוח, שתוכל לפתוח באמצעות קיצור המקלדת CMD/Ctrl + P.
לאחר פתיחת האיתור המטושטש, אתה יכול פשוט להקליד להביא כדי להתחיל להביא, או למשוך כדי ליזום משיכה של Git.
![Gitkraken Feck Finder Finder] (https: // www.Gitkraken.com/wp-content/העלאות/2021/04/gitkraken-fetch-fuzzy-finder-1.png)
![Gitkraken Pull Finder Finder] (https: // www.Gitkraken.com/wp-content/העלאות/2021/04/gitkraken-pull-fuzzy-finder-1.png)
שינויים אוטומטיים עם Gitkraken
Gitkraken כולל תכונה נוחה המאפשרת לך להביא אוטומטית שינויים ממאגר מרוחק על בסיס מרווח שאתה מגדיר. אתה יכול להגדיר את המרווח לכל רגע, כל שעה או דקה נחושה בין 0 ל 60.
זה יכול להועיל ביותר לשמירה על העותק המקומי שלך עדכני עם השלט שלך, ויכול להועיל במיוחד כאשר יש לך הרבה עם מאגרים ופרויקטים מרובים.
שמור את העותק המקומי שלך עדכני עם שינויים מהמרחוק שלך וחסוך זמן עם אוטומטי-פץ ‘ב- Gitkraken.
איך אתה מקבל להביא בשורת הפקודה?
אם אתה משתמש בטרמינל, תשתמש בפקודה Git Fetch כדי להביא שינויים מהענפים המרוחקים שלך.
Git להביא
איך אתה משך את שורת הפקודה?
באופן דומה, תשתמש בפקודה Git Pull כדי למשוך שינויים מהשלט שלך.
משיכה גיט
זה יעדכן את הסניף שלך שנבדק כרגע עם שינויים מהשלט שלך.
משיכה והבאת השינויים שלך נמצאת רק לחיצה אחת משם בגיטקראקן, הצביעה ללקוח GIT הפופולרי ביותר במשך ארבע שנים ברציפות. קח סיבוב בחינם היום; לא תתחרט.
Git: מה בדיוק עושה “Git Pull”?
אם יש לך שינויים מקומיים (התחייבות לא ריקה) שעדיין לא דחפת, אז העץ המקומי שלך אינו זהה לזו המרוחקת. חוץ מזה, “Git Pull” יכול להיות “Git Fetch” Plus “Git Rebase”. אבל “Git Rebase” ניתן לראות כ”מיזוג Git “מיוחד מיוחד.
17 ביולי 2017 בשעה 7:19
אתה שואל 5 שאלות המבוססות על הטקסט שלמעלה, הנה התשובות המפורטות:
1. מה ההבדל בין משיכת git לגיט להביא?
ההבדל העיקרי בין משיכת GIT ל- Git Fetch הוא ש- Git משיכה לא רק מביא את השינויים מהמאגר המרוחק אלא גם משלב אותם בסניף המקומי שלך. מצד שני, Git Fetch רק מוריד את השינויים מהמאגר המרוחק מבלי להחיל אותם על הסניף המקומי שלך.
2. מתי אתה צריך להשתמש ב- Git Pull?
Git Pull מומלץ כאשר יש לך ידע מלא על השינויים שנעשו במאגר המרוחק ואתה רוצה ליישם אותם מייד על הסניף המקומי שלך. זה שימושי כאשר ברצונך לשלב במהירות את השינויים האחרונים בעבודתך.
3. מתי אתה צריך להשתמש ב- Git להביא?
Git Fetch שימושי כאשר ברצונך לראות את השינויים שנעשו במאגר המרוחק מבלי לבצע שינויים מקומיים. זה מאפשר לך לבדוק את השינויים ולהחליט על הגישה הטובה ביותר לשילובם בעבודתך, כמו מיזוג או העברה מהירה של הסניף המקומי שלך.
4. איזו פקודה בטוחה יותר, Git משיכה או Git להביא?
Git Fetch נחשב לבטוח יותר מכיוון שהוא מוריד רק את השינויים מהמאגר המרוחק מבלי לשנות את הקבצים המקומיים שלך. מצד שני, Git Pull מפעיל את השינויים באופן מיידי על הסניף שנבדק כרגע, שיכול להציג קונפליקטים אם לא יטופלו כראוי.
5. מדוע Git מושך מהר יותר מאשר Git להביא?
משיכת GIT מהירה יותר מכיוון שהיא משלבת פעולות מרובות לאחת. זה מביא את השינויים מהמאגר המרוחק ומשלב אותם בסניף המקומי שלך בפקודה יחידה. זה יכול להיות נוח אם אתה פחות מודאג מסכסוכים ופשוט רוצה את השינויים המעודכנים ביותר מהסניף המרוחק.
Git: מה בדיוק עושה Git Pull
גיטיפ: צריך רענון כיצד למשוך ענף גיט מרוחק? אָנוּ’יש לך מכוסה.
Git Pull vs להביא
אתה’ככל הנראה במצב הבא: היו שינויים שנעשו לאחרונה במאגר המרוחק שלך ואתה רוצה לשלב אותם בעותק המקומי שלך. יש לך כמה אפשרויות כאן; שתי הפעולות הנפוצות ביותר כדי לקבל שינויים מהמרחוק שלך הם משיכה git ומביאים להביא.
אז מה’זה ההבדל בין git משיכה לעומת Fetch, ומתי אתה צריך לנצל איזו פקודה? אָנוּ’שמח ששאלת.
מה זה Git להביא?
Git Fetch היא פקודה המאפשרת לך להוריד אובייקטים ממאגר אחר.
מה זה Git Pull?
Git Pull היא פקודה המאפשרת לך להביא ולהשתלב עם מאגר אחר או סניף מקומי אחר.
מההגדרה הזו, אתה יכול לראות שמשיכה של Git היא למעשה אחזור של Git ואחריו פעולה (ים) נוספים – באופן אופייני מיזוג Git.
מתי אתה צריך להשתמש ב- Git Pull?
Git Pull היא פעולה רצויה כאשר יש לך הקשר מלא לגבי השינויים שתקבל ממאגר המרוחק שלך ולהוסיף לעותק המקומי שלך.
מתי אתה צריך להשתמש ב- Git להביא?
אם אתה רק רוצה לראות את כל הענפים הנוכחיים והשינויים במאגר המרוחק שלך, Git Fetch יכול להביא לך את כל המידע הדרוש לך מבלי לבצע שינויים מקומיים בעבודתך.
זה נותן לך זמן להחליט על דרך הפעולה הטובה ביותר לשילוב השינויים שלך, כמו מיזוג אותם או מהיר את הסניף המקומי שלך במהירות.
השוואה בין משיכה Git לעומת Fetch
כאשר משווים את ה- Git Pull לעומת Fetch, Git Fetch הוא אלטרנטיבה בטוחה יותר מכיוון שהיא מושכת את כל ההתחייבויות מהשלט שלך אך לא’לא לבצע שינויים בקבצים המקומיים שלך.
מצד שני, משיכת GIT מהירה יותר כמוך’מבצע מחדש פעולות מרובות באחת – מפץ טוב יותר עבור הדולר שלך. השימוש בפקודת המשיכה של GIT ניתן לראות באור אחד כתכונה של נוחות; אתה’ככל הנראה פחות מודאג מכניס קונפליקטים לרפו המקומי שלך ואתה רק רוצה את השינויים המעודכנים ביותר מהסניף המרוחק שאתה’משיכה מחדש מ.
Git Pull הוא פעולה מתקדמת יותר וזה’חשוב להבין שתציג שינויים ותחיל אותם מייד על הסניף שנבדק כרגע.
Git Fetch קצת שונה; אתה יכול להשתמש בפקודה Git Fetch כדי לראות את כל השלטים’S משתנים מבלי ליישם אותם. פעולה זו יכולה להיות נהדרת אם אתה’חדש יותר ל- GIT, מכיוון שהוא מספק נראות רבה יותר לגבי השינויים המוצגים. מצד שני, FETC’זה קורה ברפו שלהם.
עכשיו כשאנחנו’עברו על מה שהפקודות בהתאמה עושות והשוו את המשיכה git לעומת להביא, בואו’S למד כיצד אתה משוך ומביא להביא באמצעות Gitkraken Gui של Gitkraken Gui כדי לדמיין את המאגר שלך וכיצד לבצע פעולות אלה ב- CLI.
Gitkraken מאפשר לך לראות את כל פרטי השינויים שאתה’מחדש למשוך או להביא מהמאגר המרוחק שלך.
איך אתה משוך לעומת משיכה באמצעות Gitkraken?
ב- Gitkraken, אתה יכול להביא בקלות או למשוך מסרגל הכלים העליון.

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

גיטיפ: צריך רענון כיצד למשוך ענף גיט מרוחק? אָנוּ’יש לך מכוסה.
אבל אם אתה’כמו מפתחים רבים שם בחוץ ומעדיפים לדבוק במקלדת, Gitkraken כיסית את Finder המטושטש והסופר -נוח, שתוכלו לפתוח באמצעות קיצור המקלדת CMD/Ctrl + P .
לאחר פתיחת האיתור המטושטש, אתה יכול פשוט להקליד להביא כדי להתחיל להביא, או למשוך כדי ליזום משיכה של Git.


שינויים אוטומטיים עם Gitkraken
Gitkraken כולל תכונה נוחה המאפשרת לך להביא אוטומטית שינויים ממאגר מרוחק על בסיס מרווח שאתה מגדיר. אתה יכול להגדיר את המרווח לכל רגע, כל שעה או דקה נחושה בין 0 ל 60.
זה יכול להועיל ביותר לשמירה על העותק המקומי שלך עדכני עם השלט שלך, ויכול להועיל במיוחד כאשר יש לך הרבה עם מאגרים ופרויקטים מרובים.
שמור את העותק המקומי שלך עדכני עם שינויים מהמרחוק שלך וחסוך זמן עם אוטומטי-פץ ‘ב- Gitkraken.
איך אתה מקבל להביא בשורת הפקודה?
אם אתה’מחדש באמצעות הטרמינל, תשתמש בפקודה Git Fetch כדי להביא שינויים מהענפים המרוחקים שלך.
Git להביא
איך אתה משך את שורת הפקודה?
באופן דומה, תשתמש בפקודה Git Pull כדי למשוך שינויים מהשלט שלך.
משיכה גיט
זה יעדכן את הסניף שלך שנבדק כרגע עם שינויים מהשלט שלך.
משיכה והבאת השינויים שלך נמצאת רק לחיצה אחת משם בגיטקראקן, הצביעה ללקוח GIT הפופולרי ביותר במשך ארבע שנים ברציפות. קח סיבוב בחינם היום; ניצחת’אני לא מתחרט.
Git: מה בדיוק עושה “Git Pull”?
אם יש לך שינויים מקומיים (התחייבות לא ריקה) שעדיין לא דחפת, אז העץ המקומי שלך אינו זהה לזו המרוחקת. חוץ מזה, “Git Pull” יכול להיות “Git Fetch” Plus “Git Rebase”. אבל “Git Rebase” ניתן לראות כ”מיזוג Git “מיוחד מיוחד.
17 ביולי 2017 בשעה 7:19
אתה שואל 5 שאלות כאן 🙂
17 ביולי 2017 בשעה 7:24
אני מקווה שלפחות שהם טובים.
17 ביולי 2017 בשעה 7:43
4 תשובות 4
ה בְּדִיוּק החלק באמת די קשוח. לעתים קרובות נאמר – וזה בעיקר נכון – המשיכה של Git מפעילה את האחיזה ואחריהן מיזוג git או git rebase, ולמעשה, Git Pull, שהיה בעבר תסריט פגז וכעת הוא תוכנית C, ממש הפעילה את Git ראשית, אם כי כעת היא קוראת ישירות את קוד ה- C שמיישם את Git להביא את GIT להביא את Git להביא את Git להביא את Git להביא את Git להביא את Git להביא את Git להביא את Git להביא את Git Mettets Mettets Metchet Metchet להביא את Git Petchet Metchet Metchet Metchet Metchet Metchet Metchet Metchet Metchet Metchet Metch cettchet .
השלב הבא, לעומת זאת, די מסובך. כמו כן, בתגובה הוספת זאת:
[Fetch] מביא שינויים מהרפו המרוחק. איפה זה מציב אותם?
כדי להבין זאת כראוי, עליך להבין את מערכת האובייקטים של GIT.
מודל האובייקט Git, ו- Git להביא
כל התחייבות היא מעין ישות עצמאית. לכל התחייבות יש מזהה חשיש ייחודי: B06D364. או מה שלא יהיה. מזהה חשיש הוא בדיקת קריפטוגרפיה של תוכן ההתחייבות. שקול למשל:
$ git -file -file -p | SED/@//g 'עץ A15B54EB544033F8C1AD04DD0A5A5278A59CC36CC9 הורה 951EA7656BB3F30E6C5E941E625A13AC58298 CASCITT CASCITT CASCITT CASCITT18296296296296296296 0900 Git 2.13 חתום-על-ידי: ג'וניו סי האמנו
אם אתה מאכיל את התוכן הזה (מינוס החלק/@//’אבל עם הכותרת שגיט מוסיף לכל אובייקט) למחשבון בדיקת SHA-1, תקבל את מזהה החשיש. זה אומר ש כל אחד למי יש את ההתחייבות הזו יש את אותו מזהה חשיש בשביל זה.
אתה יכול להשיג את מאגר GIT עבור GIT ולהפעיל Git Cat -File -P V2.13.0^ כדי לראות את אותם נתונים. הערה: התג V2.13.0 מתרגם ל- 074ffb61b4b507b3bde7dcf6006e5660a0430860, שהוא אובייקט תג; אובייקט התג עצמו מתייחס להתחייבות B06D364. :
$ Git Cat -File -P V2.13.0 אובייקט B06D3643105C8758ED019125A4399CB7EFDCCE2C סוג התחייבות תג v2.13.0 [snip] כדי לעבוד עם התחייבות, GIT חייבת לאחסן את אובייקט ההתחייבות – הפריט עם ה- hash id b06d364. – בעצמך איפשהו, וגם אובייקט העץ שלו וכל חפצים נוספים שעץ צריך. אלה האובייקטים שאתה רואה ספירה ודחיסה של גיט במהלך אחיזה או דחיפת גיט .
קו ההורה מספר מי מתחייב (או, למיזוג, מתחייב, רבים) הם קודמי ההתחייבות הספציפית הזו. כדי שיהיה מערך שלם של התחייבויות, Git חייב גַם האם ההורה להתחייב (ים) (שיבוט -שיבוט יכול להשמיט במכוון הורים שונים, אשר תעודות זהות מוקלטות בקובץ מיוחד של “שתלים רדודים”, אך לשיבוט רגיל תמיד יהיה הכל).
ישנם ארבעה סוגים של אובייקט בסך הכל: התחייבויות, (מצוינות) תגיות, עצים ומה מתקשר כֶּתֶם חפצים. כתמים בעיקר מאחסנים את הקבצים בפועל. כל האובייקטים הללו שוכנים בגיט מסד נתונים של אובייקטים. לאחר. (לרוב יש מעט שצריך לעשות מלבד דחיסה, אם כי לאובייקטים של עצים יש נתונים בינאריים שיש לעצב תחילה תחילה.)
כשאתה מפעיל Fetch git – או שיש לך משיכה להריץ את זה בשבילך – אתה מקבל את מזהי החשיש של כמה אובייקטים ראשוניים מ- GIT אחר, ואז משתמש בפרוטוקולי העברת GIT כדי להבין אילו אובייקטים נוספים נדרשים כדי להשלים את מאגר ה- GIT שלך. אם אתה כבר יש איזה אובייקט, אינך צריך להביא אותו שוב, ואם האובייקט הזה הוא אובייקט התחייבות, אתה גם לא צריך אף אחד מההורים שלו. 1 אז אתה מקבל רק את ההתחייבויות (והעצים והכתמים) שאין לך כבר. לאחר מכן Git שלך מכניס את אלה למסד הנתונים של האובייקט של המאגר שלך.
ברגע שהאובייקטים נשמרים בבטחה, ה- GIT שלך מתעד את מזהי החשיש בקובץ Fetch_head המיוחד. אם ה- Git שלך הוא לפחות 1.8.4, זה יהיה גַם עדכן כל תואם שמות סניפים מעקבים מרחוק בשלב זה: ה.ז., זה עשוי לעדכן את המקור/המאסטר שלך .
(אם אתה מפעיל GIT להביא ידנית, Git שלך מציית לכל כללי העדכון הרגילים של REFSPEC, כמתואר בתיעוד GIT Fetch. אלה הטיעונים הנוספים שהועברו כדי להביא על ידי Git Pull שמעכבים חלק מאלה, תלוי בגרסת ה- Git שלך.)
זו אם כן, התשובה למה שאני חושב שהיא השאלה הראשונה האמיתית שלך: Git Fetch מאחסנת את האובייקטים האלה במסד הנתונים של האובייקטים של גיט, שם הם עשויים לאחזר על ידי מזהי החשיש שלהם. זה מוסיף את מזהי החשיש .git/fetch_head (תמיד), ולעתים קרובות גם מעדכן חלק מההפניות שלך-שמות תיג בשופטים/תגיות/, ושמות סניפים של מעקב מרחוק בשופטים/מרחקים/ .
1 מלבד, כלומר “לבטל” שיבוט רדוד.
את שאר ה- Git מושכים
הפעלת Git Fetch מקבלת לך חפצים, אך לא עושה דבר כדי לשלב את האובייקטים האלה באף אחד מהם שֶׁלְךָ עֲבוֹדָה. אם אתה רוצה להשתמש ההתחייבויות המובטות או נתונים אחרים, אתה זקוק לשלב שני.
שתי הפעולות העיקריות שתוכלו לעשות כאן הן git molge או git rebase . הדרך הטובה ביותר להבין אותם היא לקרוא עליהם במקום אחר (פוסטים אחרים, תיעוד אחר וכן הלאה). עם זאת, שתיהן פקודות מורכבות – ויש מקרה מיוחד אחד למשיכת GIT כלומר לֹא מכוסה על ידי שני אלה: בפרט, אתה יכול להיכנס לסניף שאינו קיים. יש לך סניף שאינו קיים (שגיט מכנה גם סניף יתום או סניף שטרם נולד) בשני מקרים:
- במאגר חדש וריק (שאין לו התחייבות), או
- לאחר הפעלת Git Checkout -Orphan NewBranch
בשני המקרים, אין התחייבות נוכחית אז אין מה לחדש או להתמזג. עם זאת, המדד ו/או עץ העבודה אינם בהכרח ריקים! בתחילה הם ריקים במאגר חדש וריק, אך עד שתפעל משיכת git יכולת ליצור קבצים ולהעתיק אותם לאינדקס.
סוג זה של משיכה של גיט היה באופן מסורתי, אז היזהר: גרסאות של Git לפני 1.8-ish לפעמים יהרוס את העבודה הבלתי מחויבת. אני חושב שעדיף להימנע מלהקוף לגיט כאן לגמרי: פשוט הפעל את Git להביא את עצמך ואז להבין מה אתה רוצה לעשות. עד כמה שידוע לי, זה בסדר בגיט המודרני-הגרסאות הללו לא יהרסו את האינדקס ואת עץ העבודה שלך-אבל אני נוהג להימנע מ Git למשוך את עצמי.
בכל מקרה, גם אם אינך נמצא בסניף יתום/לא נולד/לא קיים, זה לא רעיון נהדר לנסות להתמזג עם git עם אינדקס מלוכלך ו/או עץ עבודה (“עבודה בלתי מוגבלת”))). לפקודת GIT Rebase יש כעת אפשרות אוטומטית של סטאש (Rebase.AutoStash), כך שתוכל לקבל את Git באופן אוטומטי Stash Save כדי ליצור כמה התחייבויות מחוץ לסניף מכל עבודה כזו שאינה מחויבת. ואז מחדש עצמה יכול לרוץ, לאחר מכן GIT יכול להחיל ולהפיל את הסטש באופן אוטומטי.
לפקודת Merge Git אין אפשרות אוטומטית זו, אך כמובן שאתה יכול לעשות זאת באופן ידני.
שים לב ששום דבר מכל זה עובד אם אתה נמצא באמצע א מסוכסך לְמַזֵג. במצב זה, לאינדקס יש רשומות נוספות: אינך יכול לבצע את אלה עד שתפתור את הסכסוכים, ואתה אפילו לא יכול להכות אותם (אשר נובע באופן טבעי מהעובדה שגיט סטאש באמת מבצע התחייבות). אתה פחית הפעל את Git להביא, ב כל זמן, מכיוון שזה פשוט מוסיף אובייקטים חדשים למסד הנתונים של האובייקט; אך אינך יכול להתמזג או מחדש כאשר המדד נמצא במצב זה.
Git Pull -Rebase VS. –לְמַזֵג
עמוד זה מסביר בקצרה את ההבדל בין מחדש מחדש להתמזג ב- GIT תוך כדי משיכה. שתי הטכניקות משמשות לשילוב השינויים המקומיים שלא פורסמו עם השינויים המרוחקים שפורסמו. יש עוד ויקיפייג ‘כיצד להחזיר או למזג סניף.
אם אתה רוצה להבין את הפרטים של מחדש ומיזוג לשינויים וענפים, אז Syou צריך לקרוא עמוד בלוג של מיסלב מרוחניץ ‘ואת הפרק על סיבוב מחדש ומיזוג מהספר המקצועי.
מחדש מחדש
אם אתה מושך שינויים מרוחקים עם הדגל -REBase, אז השינויים המקומיים שלך מיוצרים מחדש על גבי השינויים המרוחקים.
Git Pull -Rebase
מיזוג
אם אתה מושך שינויים מרוחקים עם הדגל -MERGE, שהוא גם ברירת המחדל, אז השינויים המקומיים שלך ממוזגים עם השינויים המרוחקים. זה מביא להתחייבות מיזוג שמצביע על ההתחייבות המקומית האחרונה ועל ההתחייבות המרוחקת האחרונה.
Git Pull -MERGE
התרגול הטוב ביותר
זה הטוב ביותר לנהוג תמיד מחדש את ההתחייבויות המקומיות שלך כשאתה מושך לפני שאתה דוחף אותם. מכיוון שאיש אינו יודע את ההתחייבות שלך עדיין, אף אחד לא יתבלבל כאשר הם ייבצעו מחדש, אך ההתחייבות הנוספת של מיזוג תבלבל שלא לצורך. עם זאת, התחייבויות שפורסמו מתמזגות בדרך כלל, למשל כאשר מתמזגים סניפים.
כדי למנוע הקלדה -בסיס בכל פעם שתמשוך תוכל לתצורת GIT להשתמש בו כברירת מחדל:
git config -משיכה גלובלית.מחדש נכון
אם אתה רוצה לשלב התחייבויות מקומיות לפני שאתה דוחף אותם במעלה הזרם, למשל, מכיוון שגילית הקלדה או באג לאחר התחייבות, אתה יכול לעשות זאת באופן אינטראקטיבי:
Git Rebase -i
אם אתה רוצה לדעת את הפרטים או שיהיה לך גרסת GIT ישנה, עקוב אחר מצביעי הספרות שלמעלה.
מה ההבדל בין Git Fetch ו- Git Pull ?
לפני שנדבר על הבדלים בין שתי הפקודות הללו, בואו נדגיש את קווי הדמיון שלהם: שניהם רגילים הורד נתונים חדשים ממאגר מרוחק.
הורדת נתונים היא צעד חיוני בעבודה היומית שלך – מכיוון שהנתונים המרוחקים שאתה מסתכל עליהם במאגר המקומי שלך הם רק “תמונת מצב”. זה רק עדכני כמו בפעם האחרונה שאתה בִּמְפוּרָשׁ הורד נתונים טריים מהמרחוק עם “אחזור” או “משיכה”. חיוני לזכור עובדה זו בעת בדיקת סניפים מרוחקים ומתחייבים!
בואו נסתכל כעת על ההבדלים המשובחים אך החשובים בין “להביא” ל”משוך “.
גיליון הרמאות של גיט
אין צורך לזכור את כל הפקודות והפרמטרים האלה: קבל את “גיליון הרמאות של Git” הפופולרי שלנו – בחינם!
לְהָבִיא
$ git להביא מקור Git להביא באמת מוריד רק נתונים חדשים ממאגר מרוחק – אבל זה לא משלב אף אחד מהנתונים החדשים האלה בקבצי העבודה שלך. Fetch נהדר לקבלת מבט רענן על כל הדברים שקרה במאגר מרוחק.
בגלל הטבע “הלא מזיק”, אתה יכול להיות סמוך ובטוח: אחזור לעולם לא יפעל, יהרוס או תברג משהו. המשמעות היא שלעולם לא תוכל להביא לעתים קרובות מספיק.
מְשׁוֹך
$ git Pull Master Master משיכה גיט, לעומת זאת, משמש עם מטרה אחרת בחשבון: כדי לעדכן את סניף הראש הנוכחי שלך עם השינויים האחרונים מהשרת המרוחק. המשמעות היא שלמשוך לא רק מוריד נתונים חדשים; זה גם ישירות משתלב זה בקבצי העותק העובדים הנוכחיים שלך. יש לזה כמה השלכות:
- מכיוון ש”גיט משיכה “מנסה למזג שינויים מרוחקים עם אלה המקומיים, יכול להתרחש מה שמכונה” סכסוך מיזוג “. עיין במדריך המעמיק שלנו כיצד להתמודד עם סכסוכים במיזוג למידע נוסף.
- כמו עבור פעולות רבות אחרות, מומלץ מאוד להתחיל “משיכת גיט” רק עם עותק עובד נקי. זה אומר שעליך לֹא יש שינויים מקומיים שלא מחויבים לפני שתמשוך. השתמש בתכונת STASH של GIT כדי לשמור את השינויים המקומיים שלך באופן זמני.
עֵצָה
פיצוץ אוטומטי + סטינג אוטומטי במגדל
במקרה שאתה משתמש בלקוח Tower Git, אתה לא צריך להביא ידנית כל הזמן: מגדל מביא עבורך רקע, באופן קבוע ואוטומטי. ואם תנסו למשוך תוך כדי שינויים מקומיים שלא התחייבו בעותק העבודה שלכם, מגדל יציע אוטומטית לאחסן בבטחה את אלה על סטאש בשבילך:
למד עוד
- עיין בפרק בדיקת נתונים מרוחקים בספר המקוון החינמי שלנו
- שאלות נפוצות יותר על בקרת GIT & גרסאות
קבל את הפופולרי שלנו גיליון רמאות של גיט בחינם!
תוכלו למצוא את הפקודות החשובות ביותר בחזית ועצות מועילות לשיטות עבודה מומלצות בגב. מעל 100,000 מפתחים הורידו את זה כדי להקל על גיט.
עלינו
בתור יצרני המגדל, לקוח GIT הטוב ביותר עבור Mac ו- Windows, אנו עוזרים ליותר מ 100,000 משתמשים בחברות כמו אפל, גוגל, אמזון, טוויטר ו- eBay להפיק את המרב מ- Git.
ממש כמו עם מגדל, המשימה שלנו עם הפלטפורמה הזו היא לעזור לאנשים להפוך לאנשי מקצוע טובים יותר.
זו הסיבה שאנו מספקים את המדריכים, הסרטונים והגיליונות לרמות שלנו (על בקרת גרסאות עם GIT והרבה נושאים אחרים) בחינם.
© 2010-2023 מגדל – שמות מוצרים וסמלים שהוזכרו הם רכוש של בעלים בהתאמה.
קבלת שינויים ממאגר מרוחק
אתה יכול להשתמש בפקודות GIT נפוצות כדי לגשת למאגרים מרוחקים.
אפשרויות לקבלת שינויים
פקודות אלה שימושיות מאוד בעת אינטראקציה עם מאגר מרוחק. שיבוט והביא להורדה קוד מרחוק מכתובת האתר המרוחקת של מאגר למחשב המקומי שלך, מיזוג משמש למיזוג העבודה של אנשים שונים יחד עם שלך, ומשיכה היא שילוב של אחזור ומיזוג .
שיבוט מאגר
כדי לתפוס עותק שלם של מאגר משתמש אחר, השתמש ב- Git Clone כזה:
$ git שיבוט https: // github.com/שם משתמש/מאגר.git # משובץ מאגר למחשב שלך אתה יכול לבחור מבין מספר כתובות אתרים שונות בעת שיבוט מאגר. בעודם מחוברים ל- GitHub, כתובות אתרים אלה זמינות בעמוד הראשי של המאגר כשאתה לוחץ

כשאתה מפעיל שיבוט Git, הפעולות הבאות מתרחשות:
- נוצרת תיקיה חדשה בשם Repo
- זה מאתחל כמאגר GIT
- נוצר מקור שלט בשם, ומצביע על כתובת האתר שממנה שיבטת ממנה
- כל הקבצים וההתחייבויות של המאגר מורידים שם
- סניף ברירת המחדל נבדק
עבור כל סניף foo במאגר המרוחק, נוצר במאגר המקומי מתאים לסניף מרחוק שופטים/מרחוק/מקור/foo במאגר המקומי שלך. בדרך כלל אתה יכול לקצר שמות סניפים מרחוק כאלה למקור/foo .
הבאת שינויים ממאגר מרוחק
השתמש ב- Git להביא כדי לאחזר עבודה חדשה שנעשתה על ידי אנשים אחרים. להביא ממאגר תופס את כל הענפים והתגיות החדשות המתרחשות לְלֹא מיזוג השינויים הללו לענפים שלך.
אם כבר יש לך מאגר מקומי עם כתובת אתר מרוחקת שהוקמה לפרויקט הרצוי, תוכל לתפוס את כל המידע החדש באמצעות Git Fetch * שם מחדש * בטרמינל:
$ git להביא שם מרחוק # מביא עדכונים שנעשו למאגר מרוחק אחרת, אתה תמיד יכול להוסיף שלט חדש ואז להביא. למידע נוסף, ראה “ניהול מאגרים מרחוק.”
מיזוג שינויים בסניף המקומי שלך
מיזוג משלב את השינויים המקומיים שלך עם שינויים שנעשו על ידי אחרים.
בדרך כלל, היית ממזג ענף מעקב מרחוק (אני.ה., סניף המופק ממאגר מרוחק) עם הסניף המקומי שלך:
$ git מיזוג שם מרחוק/שם סניף # ממזג עדכונים שנעשו באופן מקוון עם העבודה המקומית שלך משיכת שינויים ממאגר מרוחק
Git Pull הוא קיצור דרך נוח להשלמת Git Fetch וגם Git להתמזג באותה פקודה:
$ git משוך שם מרחוק שם סניף # תופס עדכונים מקוונים וממזג אותם עם העבודה המקומית שלך מכיוון ש- Pull מבצע מיזוג בשינויים שאוחזרו, עליך להבטיח שהעבודה המקומית שלך תבוצע לפני שתפעיל את פקודת המשיכה. אם אתה נתקל בסכסוך מיזוג אתה לא יכול לפתור, או אם תחליט להפסיק מהמיזוג, אתה יכול להשתמש ב- Git Molge -Abort כדי להחזיר את הענף למקום בו הוא היה לפני ששלכתם.
לקריאה נוספת
- “עבודה עם מרחוק” מה- Pro Git סֵפֶר”
- “פתרון בעיות קישוריות”
עזרה ותמיכה
עזור לנו להפוך את המסמכים האלה לגדולים!
כל מסמכי GitHub הם קוד פתוח. לראות משהו שגוי או לא ברור? הגש בקשת משיכה.



