דמיינו שאתם כותבים ספר ורוצים לנסות רעיונות חדשים בלי להפריע לגרסה המקורית. יכולתם להתחיל ניירת חדשה עבור כל רעיון, נשמרים את הגרסאות הטריות בנפרד.
Git, מערכת שליטה בגרסאות, מאפשרת למפתחים תוכנה לעשות אותו הדבר עם קוד באמצעות "סנפירים" (branches). כל סנפיר הוא כמו נתיב פיתוח נפרד, המאפשר לכם לחקור שינויים בלי להשפיע על בסיס הקוד המרכזי.
במאמר זה, אני אוביל אתכם דרך השימוש בgit clone
, עם דיוק בשיבוט סנפירים ספציפיים. אם אתם רוצים ללמוד עוד על Git, אני ממליצה על הקורס הקדמה ל-Git.
נתחיל עם תשובה קצרה עבור אלו מכם שבדחיפות. אחר-כך נצליח לעמוד בפרטים נוספים.
תשובה קצרה: איך לשבוט סנפיר ספציפי
כדי לשבוט סנפיר ספציפי ממאגר git, השתמשו בפקודה:
git clone --single-branch --branch <branch_name> <repository_url>
חילוף <branch_name>
בשם העמודה הרצויה ו<repository_url>
בכתובת המאגר. הפקודה הזו יוצרת מהקופית של העמודה המסו指定, אפשר לפתח מיידית וממוקדת בעמודה הזו.
דוגמה
במהלך המאמר הזה, אנחנו נשתמש במאגר. ניתן להשתמש בו כדי לנסות את הפקודות שלמדת עליהן על המכונה שלך. במאגר הזה נמצאות שלוש עמודות:
main
: הערימה ברירות עם שני קבצי טקסט.add-new-file
: ערימה בה נוספ קבץ שלישי.modify-file
: ערימה בה שנותר קבץ השני שונה.
כך אנחנו יכולים לשתקף את הערימה add-new-file:
git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git
מהו git clone
?
בהתבסס, git clone
מעוצב כדי להעתיק את כל המאגר לתוך תוך תיקייה חדשה על המחשב המקומי שלך, כך שיעתק את כל הענפים. הסינטAX הבא הוא:
git clone <repository_url>
כדי לעתק את המאגר הדוגמא, אנחנו יכולים לבצע את העיצוב הבא:
git clone https://github.com/fran-aubry/git-clone-example.git
לאחר הרצת הפקודה הזו, כל הענפים יועתקו למכשיר המקומי שלך. עם זאת, רק קבצי ענף אחד נראים בכל פעם, והוא נקרא ענף שנבדק. לאחר השליפת מאגר, הענף המשתמט (בדרך כלל נקרא main
או master
) הוא הענף שנבדק.
שינוי ענפים
לאחר שיבוט מלא, נוכל לעבור (checkout) לענף הרצוי על ידי שימוש ב-git checkout פקודה. לדוגמה, כדי לעבור לענף modify-file, נעשה כך:
git checkout modify-file
עומק שיבוט
כשאתה עובד עם Git, שינויים בענף נשמרים על-ידי החליטה שלהם בעזרת הפקודה git commit
. כל החליטה יוצרת מצב חדש לענף הזה, שניתן להפך חזרה אליו בהקשר הנדרש. תחשבו על כל החליטה כעל צילום מצב, עם Git שומר על כל הצילומים האלה. ניתן להפך את הענף חזרה אל כל אחד מהצילומים האלה בכל זמן.
הפקת git clone
בשימוש ללא אפשרויות, מ下载 את כל ההתרעות של כל העניינים למחשבך המקומי. בהתבסס על גודל הפרוייקט, זה יכול לדרוש מקום רב באחסון המקומי שלך. אם אתה יודע שלא תצטרך את כל ההיסטוריה, אתה יכול להשתמש בפרמטר --depth
כדי ל指定 כמה התרעות (או תמונות נתונים) בהם אתה רוצה לשכפל.
כדי לשכפל את העניין הראשי בעוד שאתה מטען רק את ההתרעה האחרונה, השתמש בפקודה הבאה:
git clone --depth=1 https://github.com/fran-aubry/git-clone-example.git
שכפלות של עניין ספציפי
למדנו איך לשתל אחסון בעזרת git clone. באופן ברירוגני, הפקודה הזו שולכת את הכל למכונה המקומית שלך. לרוב, אתה אולי מעוניין רק בעבודה על עמוד ספציפי, אז זה יהיה יעיל יותר לשתל רק את העמוד הספציפי. הגישה הזו חוסכת מרחב דיסק ומאפשרת לך להתחיל בעבודה מיד ללא צורך בעבורים אחרי השתלה.
באלוגיית כתיבת הספר, חישבו על קבלת משימה לעריכת הפעם השניה של הפרק השני בספר. במקרה זה, תשתל רק את העמוד שבו המשימה מתבצעת, כי זה לא נחוץ להיות בעל גישה לעמודים שקשורים לעריכת פרקים אחרים.
אתה יכול לבקש מגיט לשתל ערך בנושא ברנש יחיד על-ידי הוספת האגונים --single-branch
ו --branch
בהם מולאים אחר אחת מהשמות הבנים:
git clone --single-branch --branch <branch_name> <repository_url>
בואו נפרסן את הפקודה:
git clone
: זוהי הפקודה הבסיסית של גיט שמשתמשת כדי להעתיק את המאגר ממקור רחוק למחשבך המקומי.
--single-branch
: האפשרות הזו אומרת לגיט לשתל רק ברנש אחד. אם לא מצופה ברנש, יישלך ברנש ברירת מחדל.
--branch <branch_name>
: אפשרות זו מציינת את הענף לשכפול. ה<branch_name> הוא שם הענף שברצונך לשכפל.<repository_url>
: זהו ה-URL של המאגר.
לדוגמה, כדי לשכפל רק את ענף הmodify-file מהמאגר שלנו, ניתן לעשות את הפעולה הבאה:
git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git
כיצד לעבוד עם ענף משוכפל
כשאתה עובד על ענף, יש שלושה פעילויות עקרוניות שצריך לבצע:
- שימור על העבודה הקיימת על ידי יצירת הדמיית של המצב הנוכחי.
- העלאה של השינויים שלך כך שכולם יהיו מקבלים להם גישה.
- הורדת שינויים של אנשים אחרים ושילובם עם השינויים שלך.
שימור של השינויים שלך בעזרת git commit
.
בגיט, השמרת העבודה שלך נקראת יצירת התבסס. תהליך זה לוקח תמונה של מצב הענף הנוכחי שאתה עובד עליו.
המצב של הענף נשמר על המכונה המקומית שלך אחרי כל התבסס, מאפשר לך לנווט בין השלבים השונים של ההתקדמות.
כדי לשמור את השינויים שלך בגיט, אתה משתמש בפקודה git commit
. אף על פי ש, לפני שמורת השינויים שלך, גיט צריך לדעת אילו קבצים אתה רוצה לכניס לשמירה. אתה מספק את הקבצים המעורבים בעזרת הפקודה git add
. הסינתזה לפקודה הזאת היא באופן הבא:
git add <path_to_file>
בסינתזה, <path_to_file>
הוא הנתיב לקבץ שאתה רוצה לשמור. לדוגמה, אם אנחנו ממוקמים על הענף modify-file
מהמאגר המדוגמה שלנו והוספנו פרסקט אחד ל file2.txt
, אתה יכול להוסיף את הקובץ הזה על-ידי ביצוע:
git add file2.txt
אחרי שהוספתם את כל הקבצים שברצונכם לכלול בהסמכה, ניתן להמשיך לבצע את ההסמכה על-ידי ביצוע:
git commit -m <message>
כאן, האגודל <message>
צריך להיות מסר קצר מופרך בתוך תוות כפולות, שמתאר בקצרה את השינויים. לדוגמה:
git commit -m "Add paragraph"
הנה כמה הלכוכבים עבור המסר של ההסמכה. הם הכרחיים עבור בטחת הבהירות וההבנה בין כל אלה שעובדים על הפרוייקט:
- השתמשו בדרגת הצו דיבורית:התחלו את המסר של ההסמכה עם פעל בדרגת הצו (לדוגמה, "הוסף," "תיקן," "עדכן"). במקום לכך שאתם יכולים לקבל "הוספת תכונה חדשה," כתובות בצורת הצו: "הוסף תכונה חדשה."
- היו קצרים אך ורק ותאריכים: מטרה היא מסר קצר, בעדיפות מתחת ל-50 תווים. אך קדם כל מדובר בבירור בתיאור השינויים. במקום "שינו דברים," כתוב "עדכון הסגנון עבור המדרגה התפריטית."
- אל תהיו מסגרות גנריות: אל תשתמשו במסרים חלקים כמו "תיקן באגים" או "עשה שיפורים." במקוםם, היו ספציפיים: "תיקן באג בבחינה ההתחברות" או "שיפור קריאת המסמך."
עליית השינויים שלך בעזרת git push
בעת ההחלטה שלך, אתה יוצר תצלום של השינויים על המכונה המקומית שלך. כדי שאחרים יוכלו לגשת לשינויים שלך, צריך לעלות אותם. כדי לעשות את זה, משתמשים בפקודה push
.
הסינTAX הבסיסי של הפקודה push בGit הוא:
git push <remote> <branch>
בואו נפרוש אותה:
<מקור רחוק>
: זה שם המאגר הרחוק בו אתה רוצה להוציא את השינויים שלך. בהתבסס, כשאתה שולך מאגר, המאגר הרחוק המובהק הוא origin.<עמודה>
: זו שם העמודה שלהם ששינויים שאתה רוצה להוציא אל המאגר הרחוק. אם אתה מעלה את האגודל הזה, Git ישליך את השינויים על פי העמודה הנוכחית וההגדרות העקביות למאגר.
פה כמה מקרים נפוצים לשימוש ב git push
:
- שימוש בכדי להוציא שינויים מעמודת ההוצאה הנוכחית:
git push
- עידכון השינויים מערך ספציפי:
git push origin <branch>
הורדת השינויים בעזרת git pull
גיט מאפשרת לצוותים גדולים לעבוד בהדרגה על אותו פרוייקט. כשעמיתים מערבים בערך אותו העמוד שאתה עובד עליו, עמודך מקומי יכול להיות מאוד מאוחר יחסית לעמוד הרחוק.
כדי להוריד את ההגשות של אנשים אחרים, אנחנו משתמשים בפקודה git pull
.
git pull <remote> <branch>
פעמים אחרות, כך מהם כל הפרמטרים:
<remote>
: זה שם האחסון הרחוק ממנו אתה רוצה למשך חידושים. במודל ברירת מחדל, האחסון הזה נקרא origin.<branch>
: זה שם הענף ממנו אתה רוצה למשך השינויים. אם לא סופיק לומר, גיט משתמש בענף הקיים בצורה בר-קשורה עם ענף הרצה.
פה כמה מהמקרים השיווקים של git pull
:
- משך השינויים מענף הקיים:
git pull
- משך השינויים מענף ספציפי:
git pull origin <branch>
תהליך העבודה של ההגשה, משך והפעלה
בשימוש בגיט, אני ממליץ להשתמש באות קבע בהתרעות כדי להבטיח שערך הענף המקומי שלך נשאר עדכני. אני מעצה להצדיק את המידוברים הבאים:
- לפני שיתחילו על העבודה שלך, תוצלחו להשתמש בעדכונים האחרונים של הענף המקומי שלך כדי להבטיח שאתם עובדים על הגירסה העדכנית ביותר.
- הקבלו את השינויים לעתים קרובות, וודא שכל הקבלה תמיד תמקד בשינויים קטנים שמתאימים הדדית לגבי השינויים.
- לאחר שעשיתם כמה שינויים ויצרתם הקבלה, תוצלחו להשתמש בהשתמש במחדש כדי לעדכן את הענף שלך, במקרה שמישהו אחר יצר עדכונים באותו זמן.
- לבסוף, תוצלחו לשלוח את השינויים שלך לאחסן הרחוק.
סכסוכים בגיט
בזמן שמבצעים את הgit pull בכדי להוריד שינויים ממאגר רחוק, אולי ניצבו במצב בו התשובה של עוד התערבות שינה את אותן השורות שהתערבות המקומית שלך שינתה. גיט מנסה להדביק את השינויים באופן אוטומטי, ובמקרים רבים, היא מצליחה. לדוגמה, אם שינויים נעשו בחלקים שונים של אותו הקובץ, גיט יכולה להדביק אותם באופן בלתי-מורגש בגלל שההתערבויות משפיעות על החלקים השונים.
אך אם שינויים נעשו באותה השורה על ידיך ועל ידי משתתף אחר, גיט לא תוכל להחליט איך לשמור על הגירסא הנכונה, וזו תהיה סוג של סתם קונפליקט הדביקה. במצב זה, תצטרכו לפתור באופן ידני את הקונפליקט על ידי החלטת איך לשמור על אילו שינויים.
עבור הדרכה נוספת בנוגע לתת-פתרון סכסוכים, אני ממליץ לקריאת המאמר הזה על איך לפתור סכסוכים מיזוג ב Git.
GitHub Download
במקרים מסוימים, אתה רוצה מוצר מאגר מקומי לשימוש בו ללא כוונה לשינויים. אם זה מאגר ציבורי, אין צורך להתקין Git על המחשב המקומי שלך. אתה יכול ל下载 את המאגר מ GitHub על ידי לחיצה על הCode כפתור ואחר כך על הDownload Zip כפתור, כפי שמראה באחוז התמונה הבאה:
סיכוי
הגיטינג Git מאפשר לך לשכפל מאגר Git אל למחשב המקומי שלך, מעניק לך את האפשרות להשתמש בקוד או להרחיב עליו דרך הוספת פונקציות חדשות. בזמן שהגיטינג של מאגר, כל הענפים נוload, שעשוי לצרוך מספיק מקום על הדיסק.
שורות משמשות לעבודה על שינויים ספציפיים או תכונות. העתקת שורה ספציפית מאפשרת לך לתרום לשינויים האלה בלי להוריד עבודה לא קשורה, אז זה דורש הרבה פחות מקום על הדיסק ומשאיר את הדיסק המקומי יותר נקי.
אם אתה רוצה ללמוד עוד על הנושא, אני ממליץ על ה הסיבה וג 'יט הוראה בתחילת הדרך.
Source:
https://www.datacamp.com/tutorial/git-clone-branch-tutorial