הדרכה מתקדמת לגיט

הדרכה מתקדמת לגיט

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





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





סניף גיט

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





צור סניף Git

כדי ליצור סניף Git, השתמש ב:

git branch branch_name

עבור לסניף Git

להשתמש לבדוק כדי לעבור לסניף Git:



git checkout branch_name

לאחר המעבר לענף, תוכל לבצע את השינויים באמצעות git add -הכל . לאחר מכן התחייב להם באמצעות git commit -m 'שם להתחייב' פקודה.

השווה ענף עם מאסטר

להשתמש ב git diff פקודה:





git diff master..branch_name

כדי להשוות קבצים ספציפיים:

git diff master..testb -- main.html

השוואת שני ענפים דומה לאופן שבו אתה משווה ענף עם המאסטר:





git diff branch1..branch2

כדי לראות את ההבדלים בקובץ ספציפי בין שני ענפים:

git diff branch1..branch2 -- main.html

דחוף שינויים לענף מרוחק

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

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

לאחר מכן תוכל לדחוף את השינויים האלה לגרסה המרוחקת של הענף:

git push origin changes

מיזוג ענף מרחוק עם מאסטר באמצעות בקשת משיכה

אז מתכנת אחר ביקר את השינויים בענף המרוחק ( שינויים ). אבל אתה רוצה למזג אותו עם הענף הראשי ולדחוף אותו בשידור חי.

זכור כי הסניף המרוחק שלך יורש את שם סניף Git המקומי שלך ( שינויים ). להלן מיזוג השינויים:

עבור לענף הראשי:

git checkout master

משוך את המקור או את HEAD של הענף ( שינויים ) כדי למזג אותו עם ענף המאסטר:

git pull origin changes

העבר את המיזוג הזה בשידור חי לענף הראשי:

git push origin master

השתמש במקום זאת ב- Git Merge

למיזוג ענף עם המאסטר באמצעות ללכת פקודה:

העבר לענף הראשי:

git checkout master

מיזוג אותו עם הסניף ( שינויים ):

git merge changes

לאחר מכן דחוף את המיזוג בשידור חי לענף הראשי:

כיצד להקטין את גודל הקובץ של jpeg
git push origin master

ודא שאתה מחליף שינויים עם שם הסניף שלך.

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

קָשׁוּר: כיצד לשנות את שם הסניף ב- Git

Git Rebase

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

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

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

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

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

כך תוכל לעשות זאת:

עבור לסניף הנטוש (ענף 1):

git checkout branch1

לאחר מכן הפעל מחדש את ענף 1 לענף המעודכן 2:

git rebase branch2

סקווש גיט

Git squash מאפשר לך למזג מספר התחייבויות לאחד. זה עוזר כשאתה רץ git commit פעמים רבות בעדכון יחיד. דוגמה מעשית היא כאשר לכל תיקון באגים או שיפוץ קוד לתכונה אחת יש התחייבות נפרדת.

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

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

בדוגמה זו, נניח שיש לך חמישה תיקוני באגים. ויש התחייבות לכל אחד מהם. כך תוכל לסחוט את חמשת ההתחייבויות הללו לאחת:

לָרוּץ git reflog כדי לצפות בקוד ה- hash של ההתחייבות שלך:

git reflog

להלן התוצאה במקרה זה:

כעת המטרה שלך היא למעוך את חמשת ההתחייבויות האחרונות, החל מ- תיקון ראשון עד ל תיקון חמישי .

לשם כך, העתק את קוד החשיש של ההתחייבות ממש מתחת תיקון ראשון ( 0a83962 ). לאחר מכן לחץ ש להפסיק את ריפלוג .

עכשיו רוץ git rebase -אינטראקטיבי על החשיש הזה.

git rebase --interactive 0a83962

לאחר מכן Git פותח קובץ rebase אינטראקטיבי שנראה כך:

כדי למעוך את ההתחייבויות, לא כולל את תיקון ראשון , החלף לִבחוֹר עם ש עבור כל אחת מהתחייבויות האחרות:

שמור וסגור קובץ זה.

לאחר מכן נפתח קובץ נוסף שתשנה את שם המחויבות המעוכות:

האם אתה צריך להיות בן 18 כדי להשתמש ב- PayPal

נקה את אלה והקלד שם מועדף למחויבות המעוכות:

שמור את הקובץ. לאחר מכן סגור אותו ואתה אמור לקבל הודעת הצלחה במסוף שלך.

הערה: הקובץ האינטראקטיבי עשוי להיפתח בתוך הטרמינל. אבל אם אתה משתמש ב- Windows, ייתכן שתרצה לאלץ את הטרמינל לפתוח קבצים ברחבי העולם לעורך הטקסט המועדף עליך כדי להקל על הסחיטה.

לשם כך, פתח את שורת הפקודה והפעל:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork לעומת Git Clone

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

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

הנה איך לשכפל מאגר מרוחק ב- GitHub והתחל הורדה לספרייה המקומית שלך:

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

שחזר קובץ למצב ברירת המחדל שלו

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

git restore filename

לתקן התחייבות

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

בצע שינויים בקובץ ששכחת. לאחר מכן השתמש git תיקון כדי לבדוק התחייבות:

git add file_forgotten
git commit --amend

הקמת קבצים

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

git rm --cached filename

תוכל גם להסיר מספר קבצים בבת אחת:

git rm --cached file1 file2 file3 file4

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

קָשׁוּר: כיצד לנקות את Git ולהסיר קבצים שלא נעקבו

איפוס גיט

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

git reset

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

git reset --soft HEAD~1

החלף --רַך עם --קָשֶׁה אם כבר דחפת את ההתחייבות הנוכחית:

git reset --hard HEAD~1

לך חזור

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

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

כדי לחזור להתחייבות:

git revert HEAD~1

איפה ראש ~ 1 מצביע על התחייבות ספציפית בעץ העבודה שלך.

מחק קובץ במעקב או ספרייה

אתה יכול להשתמש git rm -f כדי למחוק כל הקבצים שעוקבים אחר עץ העבודה שלך. עם זאת, שים לב ש- Git לא יכול להסיר קבצים שלא עוקבים אחריהם, מכיוון שהוא אינו מטמון אותם.

כדי למחוק קובץ מבוים:

git rm -f filename

כדי להסיר תיקיה מבוימת:

git rm -r -f foldername

רישום Git

כדי להציג את יומני ההתחייבות וההיסטוריה שלך ב- Git:

git log

לרישום הפעילויות בענף ספציפי:

git log branch_name

קָשׁוּר: כיצד לבדוק את היסטוריית הפרויקט באמצעות יומן git

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

git reflog

לצפייה ביומני ref עבור ענף מסוים:

git reflog branch_name

נהל את גרסאות הפרויקט שלך כמו מקצוען עם Git

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

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל נהל את גרסת הקבצים שלך כמו מתכנת עם Git

מתכנתים יצרו מערכות בקרת גרסאות (VCS) כדי לפתור בעיות בקרת גירסאות קבצים. בואו נסתכל על היסודות של בקרת גרסאות באמצעות המערכת המובילה כיום, Git.

קרא הבא
נושאים קשורים
  • תִכנוּת
  • בניית אתרים
  • GitHub
  • הדרכות קידוד
על הסופר אידיסו אומיסולה(פורסמו 94 מאמרים)

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

עוד מאת Idowu Omisola

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה